您的位置:首页 > 运维架构 > Linux

Linuxc编程的常用关键字 register ,static ,extern ,const ,typedef

2016-05-23 22:04 260 查看
Linuxc编程的常用关键字 register ,static ,extern ,const ,typedef
1、register关键字
寄存器变量。用来请求编译器尽可能的将register修饰的值保存在寄存器中,从而省去cpu从内存中抓取数据的时间,从而提高程序的运行效率。
使用的情况:1、经常被调用和使用的参数
2、大型的循环中使用的参数
使用时的注意事项:1、只修饰局部变量,不能修饰全局变量,也不能修饰函数;
2、其修饰的变量的地址保存在寄存器中,所以不能对其进行取地址(&)操作;
3、类型必须是cpu所能够接受的数据类型。

2、static关键字
1、修饰局部变量:被其修饰的局部变量叫做静态局部变量,延长其数据的生命周期至整个程序执行结束后释放;
2、修饰全局变量:被其修饰的全局变量叫做静态全局变量,其数据只能在本文件中访问,不能被其他的文件访问;
3、修饰函数:被其修饰的函数叫做静态函数,只能在本文件内被调用,不能被其他的文件调用。 ps:值得注意的是:静态函数必须在前面定义,非静态的要放在后面,否则编译器会报错。

3、extern关键字
外部声明函数,常用来链接其他文件中定义的变量。

4、const 函数
只读变量(readonly)。被其修饰的变量,可以被使用,但是不能直接通过操作变量名进行直接修改,但是我们可以通过地址修改其中的值
const int i = 0;
i ++; // 这样是不能修改的

const int i = 0;
int *p;
p = &i;
p++; //这样就可以修改其中的i的值

5、typedef函数
用于重命名,例如对一些复杂的类型声明可以用typedef
typedef unsigned int int_u //将unsigned int 重新命名为int_u;
这样我们在在经常使用unsigned int 的时候可以很方便的写成int_u,而且我们的代码的移植性也会增强,可以直接在头文件这边更改所有的数据类型。增强了代码的移植性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: