C语言关键字总结

来源:互联网 发布:什么是网站主题优化 编辑:程序博客网 时间:2024/05/16 04:56

C语言标准定义了32个关键字。总结一下最近学习的比较重要的关键字。


1、auto关键字

声明自动变量,在缺省情况下。编译器默认所有的变量都是auto的。

2、register关键字

声明寄存器变量,这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问以提高效率。

限制:(1)register变量必须是一个单个的值,并且其长度应小于或等于整形的长度。

     (2)不能用"&"来获取register变量的地址。

3、static关键字

声明静态变量,在C语言里面主要有两个作用:修饰变量;修饰函数。

C++对static赋予了第三个作用:定义类的成员变量和函数。

4、sizeof关键字

计算对象所占内存空间的大小。

5、cons关键字

可以修饰只读变量,修饰一般变量,修饰数组,修饰指针。

如何判断:先忽略类型名,看const离那个近,离谁进就修饰谁。

example:

const int  *p;//const 修饰 *p,p是指针,p可变,*p是指针指向的对象不可变。

int  const  *p ;//const 修饰*p,p是指针,*p是指针指向的对象,不可变。

int  *const  p; //const修饰p,p不可变,p指向的对象可变。

const  int*  const  p;//前一个const修饰*p,后一个const 修饰p,指针p和p指向的对象都不可变。

6、volatile 关键字

说明变量在程序执行过程中可被隐含的改变。如果const volatile 同时使用,表示此变量只接受外部的修改。

7、struct 关键字

声明结构体变量。

结构体变量的存储大小,是所有分量的存储空间的总和。

结构体的作用:

1、有机的组织了对象的属性。

2、以修改结构体成员变量的方法代替了函数的重新定义。

3、结构体的内存对齐原则可以提高CPU对内存的访问速度(以空间换取时间)。

结构体成员变量的存放规则:

原则1、结构的数据成员,第一个数据成员放在offset为0的位置,以后每个数据程成员存储的起始位置要从该成员的整数倍开始(比如int在32位机占4字节,则要从4的整数倍地址开始存储。)

原则2、结构体的总大小,也就是sizeof的结果,必须是其内部最大成员的整数倍,不足的要补齐。

原则3、结构体作为成员时,结构体成员要从其内部最大元素大小的整数倍地址开始存储。

8、union 关键字

声明联合数据类型。

在union中所有的数据成员共用一个空间,同一时间只存储其中一个数据成员,所有的数据成员具有相同的起始地址。

9、enum 关键字

声明枚举类型

enum 变量类型可以给其中的常量符号赋值,如果不赋值则会从被赋值的那个常量开始一次加1;如果都没有赋值,他们的值从0开始依次递增1.

10、typedef 关键字

用于给数据类型取别名。


以上内容大多比较简单,只是总结下便于更好的学习,写的不好,大神勿喷哈。


1 0
原创粉丝点击