C语言中的32个关键字

C语言简洁、紧凑,使用方便、灵活。ANSI C标准C语言共有32个关键字,9种控制语句,程序书写形式自由,区分大小写。

一:表示数据类型
1、char 声明字符型变量或函数返回值类型
2、int 声明整型变量或函数
3、long 声明长整型变量或函数返回值类型
4、short 声明短整型变量或函数
5、signed 声明有符号类型变量或函数
6、unsigned 声明无符号类型变量或函数
7、double 声明双精度浮点型变量或函数返回值类型
8、float 声明浮点型变量或函数返回值类型
9、void 声明函数无返回值或无参数,声明无类型指针
10、union 声明共用体类型

对于union,分两步:
  • 先算union对齐大小,对齐的大小是取决于union成员中字节对齐最大的那个;
  • 再算union实际分配的空间,而分配给union的实际大小不仅要满足是对齐大小的整数倍,同时要满足实际大小不能小于最大成员的大小

11、struct 声明结构体类型

对于stuct,分三步:
  • 先算struct的对齐大小,对齐的大小也是取决于struct成员中字节对齐最大的那个
  • 然后根据每个成员的对齐大小对齐每个成员算出分配的空间
  • 最后算出struct实际分配的空间,在满足对齐每个成员的基础上,满足是Struct对齐大小的整数倍。

12、enum 声明枚举类型

二:修饰变量
13、extern 声明变量或函数是在其它文件或本文件的其他位置定义
14、register 声明寄存器变量
15、auto 声明自动变量,局部变量(自动储存)
16、const 声明只读变量,定义不可更改的常量值

  • 修饰指针变量
    1.const放在指针“ * ”左边时,表示指针变量指向的内容不能通过指针来改变,指针变量本身可以改变。
    int a = 10; 
    int b = 20;
    const int *p = &a;
    //*p = 30; 错误代码
    p = &b;

2.const放在指针“ * ”右边时,表示指针变量本身不能改变,指针变量指向的内容可以通过指针来改变。

    int a = 10; 
    int b = 20;
    int * const p = &a;
    *p = 30; 
    //p = &b;错误代码
  • 修饰字面常量
    使其具有常属性,在c++中,const修饰的标识符就是常量。

17、static 声明静态变量

  • 修饰全局变量(代码块外变量)时,改变变量的链接属性(外->内),使全局变量只能在当前源文件使用。存储类型和作用域不受影响。

  • 修饰局部变量时,改变变量的存储类型(自动变量->静态变量),不改变其作用域。

  • 修饰函数时,改变函数的链接属性,使函数只能在当前源文件使用。

18、typedef 重新定义数据类型

    使用typedef定义函数指针:typedef void(Fun*)(void)

19、volatile 防止编译器进行自动优化,比如:局部const变量通过地址进行修改时,编译器将其优化到了寄存器中,导致修改不起作用。

const int num=10;
num=20;
//输出num=10;内存存储num=20;
volatile const int num=10;
num=20;
//输出num=20;

三:用于控制语句

  • 条件判断语句

20 、if 条件语句
21、else 条件语句否定分支(与 if 连用)
22 、switch 用于开关语句
23 、case:开关语句选择项分支
24 、default:开关语句中的”其它”(默认选择项)分支

  • 循环执行语句

25 、do 循环语句的循环体
26 、while 循环语句的循环条件
27 、for 构成for循环语句

  • 转向语句

28 、break语句 跳出当前循环
29 、continue语句 结束当前循环,开始下一轮循环
30 、return语句 子程序返回语句(可以带参数,也可不带参数)
31 、goto语句(此语句尽量少用,因为这不利结构化程序设计,滥用它会使程序流程无规律、可读性差)

四:其他

32 、sizeof

  • sizeof(数组名)———数组名表示整个数组,求取的是整个数组的大小,单位字节。

  • 求数组个数

int arr[]={1,2,3,4,5};
sizeof(arr)/sizeof(arr[0]);
  • sizeof内部的表达式不参与运算

附:sizeof结合数组的相关运算(重要)
https://blog.csdn.net/sifanchao/article/details/79797241

猜你喜欢

转载自blog.csdn.net/sifanchao/article/details/80005897