【linux c】c语言关键字作用及注意事项_学习笔记_013

来源:互联网 发布:淘宝买家恶意拍下付款 编辑:程序博客网 时间:2024/06/05 05:53


1.register

(1)作用:请求编译器尽可能地将变量保存到cpu的内部寄存器中,省去cpu抓取数据的时间,提高程序的运行效率。

(2)将何种变量定义为register:

一般将频繁被访问的变量定义为register。

(3)使用时的注意事项:

①只能修饰局部变量,不能修饰全局变量

原因:全局变量会被多个进程使用,修饰为register的变量只能被当前进程知道变量的所保存的位置,其他进程不知道。

②不能用&获取register修饰变量的地址

原因:register变量保存在寄存器中,获取的是内存的地址。

③被register修饰的变量必须是cpu能接受的类型。

 

2.static

(1)修饰局部变量

作用:延长变量的生命周期,直至整个程序结束再释放。

(2)修饰全局变量

作用:使变量只能在本文件可被访问,其他文件不可被访问。

(3)修饰函数

作用:使函数只能在本文件被调用,不能在其他文件被调用。

(4)存储:

static修饰的变量保存在数据区中的静态存储区,若没有初始化,系统将其初始化为0;

(5)什么时候使用static:

①需要返回函数的局部变量,不让变量在函数结束后释放;

②全局变量只在本文件使用时(同时能避免在其他文件变量名被重复定义);

③修饰函数,改变函数的作用域。

 

3.extern:

(1)作用:外部声明

(2)注意:声明的变量是在其他文件定义的,声明变量要加数据类型,例如:

   extern  int count;

 

4.const

(1)作用:修饰只读变量

(2)修饰变量时:

该变量的空间是可变的,但不能通过变量名来修改这个空间;

例如:

const  int  num = 5;

int  *p = #

*p = 6;

printf(”num = %d\n”, num);

运行结果:num = 6;

(2)修饰函数形参:

避免函数实现过程中修改形参的值。

(3)注意:用const修饰变量,要对变量进行初始化。

0 0
原创粉丝点击