二、存储相关的关键字 、控制语句相关的关键字 以及其他关键字sizeof、typedef、volatile
1.
存储相关的关键字
register、static、const、auto、extern
1.register,是寄存器的意思,用register修饰的变量是寄存器变量。
即:在编译的时候告诉编译器这个变量是寄存器变量,尽量将其存储空间分配在寄存器中。
注意:1.定义的变量不一定真的存放在寄存器中
2.cpu取数据的时候去寄存器中拿数据比去内存中拿数据要快
3.因为寄存器比较宝贵,所以不能定义寄存器数组
4.register只能修饰字符型及整形的,不能修饰浮点型
5.因为register修饰的变量可能存放在寄存器中不存放在内存中,所以不能对寄存器变量取地址,因为只有存放在内存中的数据才有地址。
2.static是静态的意思
static可以修饰全局变量,局部变量,函数
使用static修饰的变量,此变量保存在内存的静态区空间中
3.const
const是常量的意思,用const修饰的变量是只读的,不能修饰它的值
const可以修饰指针,
4.auto
auto int a 和int a 是等价的,auto关键字现在基本不用
5.extern
是外部的意思,一般用于函数和全局变量的声明
2.控制语句相关的关键字
if else break continue for while do switch case goto default
条件控制语句:
if语句:if else
switch语句:switch case default
循环控制语句:
for while do goto
辅助控制语句:
break continue
3.其他关键字sizeof、typedef、volatile
1.sizeof 用来测变量,数组的占用存储空间的大小(字节数)
#include<stdio.h>
int main(int argc,char * argv[])
{
int aa = 10;
int num;
num = sizeof(aa);
printf("%d",num);
return 0;
}
2.typedef 重命名相关的关键字
关键字,作用是给一个已有的类型,重新起个类型名,并没有创造一个新的类型,
(1).用想起名的类型定义一个变量
short int a;
(2).用新的类型名替代变量名
short int INT16;
(3).在最前面加typedef
typedef short int INT16;
(4).就可以用新的类型名定义变量了
INT16 b;和short int b;//是一个效果
3.volatile 易改变的意思
用volatile定义的变量,是易改变的,即告诉cpu每次用volatile变量的时候重新取内存中取,保证用的是最新的值,而不是寄存器中的备份
volatile 关键字现在较少适用