欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言学习3-sprintf /system /文本和二进制文件 /进程退出 /typedef

程序员文章站 2022-05-12 15:30:15
...

1.typedef

把一切合法的变量声明类型化
注意:合法的变量声明不要进行赋值操作

不是宏的替换 不是在预编译阶段替换的,是在编译阶段替换的。

int main()
{
    int *p,s;
    return 0;
}

typedef int *PINT;
int main()
{
    PINT A,B;
    return 0;
}

typedef int Array[10];
int main()
{
    Array ar,br;//ar,br也是数组类型 数组空间为10
    return 0;
}

2.对象

C++的对象可以封装,可以继承,可以多态,c的对象你可以简单理解为一个结构体的具体定义
c语言是面向过程的,不是面向对象, 比如想在让你去某个地方拿一本书,c语言接到这个命令就跑去拿,其中要经过各个路啊街道什么的, 而面向对象他是直接拿书, 过程是已经封装好的。

3. 进程退出

fork()函数来创建一个进程,如何来中止进程。

1.在Linux中任何让一个进程退出

进程退出表示进程即将结束。在Linux中进程退出分为了正常退出和异常退出两种。

1>正常退出

a. 在main()函数中执行return 。

b.调用exit()函数

c.调用_exit()函数

2>异常退出

a.调用about函数

b.进程收到某个信号,而该信号使程序终止。

4.C++异常处理语句

exit(0) 表示程序正常, exit(1)/exit(-1)表示程序异常退出,

5.文本文件和二进制文件

ASCII文件又称为文本文件,它是在一个字节的存储单元上存放一个字符(存放的是该字符的ASCII码,每个字符将占一个字节)。
二进制文件是把内存中的数据按其在内存中的存储格式在磁盘上原样保存。

C语言学习3-sprintf /system /文本和二进制文件 /进程退出 /typedef

6.进程和程序的区别

进程:程序的一次执行 有生命周期

CPU的五个重要指令:
就绪
执行
阻塞
挂起
睡眠

7.system

C语言
system(“PAUSE”)可以实现冻结屏幕,便于观察程序的执行结果;
system(“CLS”)可以实现清屏操作。
system()函数执行windows命令 删除文件 – system(“del d:\123.txt”);

8. printf函数与sprintf不同之处

1)函数的声明不同

int printf(const char *format [, argument]...);
int sprintf(char *buffer, const char *format [, argument] ...);

sprintf比printf多一个参数buffer,这个参数的作用见(2)的描述。
2)函数的功能不同

  • 函数printf(…)根据指定的格式(format)将参数(argument)输出到屏幕上;
  • 函数sprintf(…)根据指定的格式(format)将参数(argument)输出到由指针buffer指定的字符数组(字符缓冲区)中;

3)用法演示

#include <stdio.h>
void main()
{
  /*字符数组buffer用于存放sprintf函数的输出*/
  char buffer[256];
  int x = 100;
  char *message = "Hello world";
   
  /* 用sprintf函数将x和message输出到字符数组buffer中 */
  sprintf(buffer, "%s%d", message, x);
   
  /* 用printf函数将buffer的内容输出到屏幕上显示 */
  printf("%s\n", buffer);   
}

printf中的一些用法:
printf(“%5fc”,0.5) 会输出0.50000c 即小数点保留5位
printf(“%5c”,0.5) 会输出空五个空格的0.5 即输出长度为5
printf(“%dc”,5) 会输出整数类型的5

9.数组名在形参里被当作指针来使用

C语言学习3-sprintf /system /文本和二进制文件 /进程退出 /typedef这里的cout输出的字节数是4 不是40

但是如果传的是引用 是数组的引用
C语言学习3-sprintf /system /文本和二进制文件 /进程退出 /typedef这样打印出来的是40
ps: