C语言的关键字

关键字:

(一)、regtister(寄存器变量)

1、计算机的三大组成部分:CPU,内存,硬盘
2、CPU三大组成部分:控制器,运算器、储存器(寄存器,cache(高速缓存))
3、CPU通过总线从内存中获取数据(ARM中是总线架构),从内存中一次又一次的抓取数据比较耗时,所以将频繁访问的数据存放在CPU的寄存器中,提高运行效率。
4、使用注意事项:
1>不可对register 变量取地址(因为取地址是对内存进行的操作)
2>register修饰的变量一定是CPU所能接受的数据类型
3>register只可修饰局部变量,不可修饰全局变量和函数
5、register总结:
register只可修饰局部变量,不可修饰全局变量和函数,它的作用是请求编译器尽可能的将变量存在CPU的内部寄存器中,这样做可以减少CPU从内存中来回抓取数据的时间,提高程序运行效率。当数据被频繁访问时可以用寄存器变量进行修饰,比如循环变量。register在使用时应注意以下几点:1>不可对register 变量取地址,2>register修饰的变量一定是CPU所能接受的数据类型

(二)、static

作用:static可以修饰函数和变量。static修饰局部变量时,局部变量为静态局部变量,延长了局部变量的生命周期,使局部变量在整个程序结束后释放,但只可在本文件中被调用。static修饰全局变量时,全局变量为静态全局变量,只可在本文件中被调用。static修饰函数时,该函数为静态函数,只可在本文件中被调用。

(三)、extern

作用:外部申明,一个.c可以访问另一个.c的全局变量
例:
extern int count;
void print()
{
    printf("%d\n",count);
}
注意:要申明数据类型

(四)、typedf

作用:给数据类型重命名,提高代码移植性


#typdef int INT 与 #define INT int 哪个好?
#typdef int INT好一点,如果你连续定义:INT a,b用#define会出现问题

(五)、const

1、修饰只读变量
2、只读变量:该变量不是空间不可变,而是不可以通过变量名修改空间对应的值
可以这样修改:
const int num = 5;
int *p = #
(*p)++;
==>num = 6;
即可以通过只读变量的地址来修改其值
3、const变量在定义时一定要初始化
如果未初始化,如:
const int num;
num = 5;
则已经通过变量名来修改其值了,非法。
4、例子:
int num = 5;
const int *p  = #
num++;
p++;
(*p)++;
其中(*p)++不可以,口诀:const离谁近谁不可变。比如:int *const p = &num,则p不可变;const *int const p = num;则两个都不可以变。
5、例:char *strcpy(char *dest,const char *src):const可以保护传入的实参不被修改
6、const作用总结:
作用:const修饰只读变量,只读变量的含义是:该变量不是空间不可变,而是不可以通过变量名修改空间对应的值。const在使用时应注意在定义时一定要初始化。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值