C语言关键词学习总结?

如题所述

C语言关键词学习总结

一、static关键字

1、局部变量

生命周期:原先存在栈中,生命周期语句执行完毕便结束了。现在存放到静态数据区,生命周期持续到整个程序执行结束。

作用域:并没有改变作用域,还是仅限于该语句块。并且只在初次运行的时候进行初始化,下次调用时它的值是上一次函数调用结束之后的值。每次调用后值会被保存。

2、全局变量

对干一个全部变量,既可以在本源文件中被访问到,也可以在同一个工程的其它源文件中被访问(只需用extern进行声明即可)。如果加上static,限制该全局变量的作用域范围,由原来的整个工程可见变为本源文件可见。

二、const关键字

1、用const修饰一般变量

用const修饰的变量必须在声明时进行初始化(用来修饰函数的形参除外)。

2、const与指针搭配使用

用const修饰的变量必须在声明时进行初始化(用来修饰函数的形参除外)。

两个基础概念: 指针常量和常量指针。

指针常量:即指针本身的值是不可改变的,而指针指向的变量的值是可以改变的;

常量指针:即指针指向的变量的值是不可改变的,而指针本身的值是可以改变的。

三、register关键字用法

register: 这个关键字请求编译器尽可能的将变量存在CPU 内部寄存器中而不是通过内存寻址访问以提高效率。注意是尽可能,不是绝对。寄存器其实就是一块一块小的存储空间,只不过其存取速度要比内存快得多。数据从内存里拿出来先放到寄存器,然后CPU 再从寄存器里读取数据来处理,处理完后同样把数据通过寄存器存放到内存里,CPU 不直接和内存打交道。

四、auto关键字

用于声明变量的生存期为自动,所有的变量默认就是auto的。

五、inline内联函数

调用函数时需要一定的时间和空间的开销。C++提供一种提高效率的方法,即在编译时将函数调用处用函数体替换,类似于C语言中的宏展开。这种在函数调用处直接嵌入函数体的函数称为内联函数(inlinefunction),又称内嵌函数或内置函数。

优点:内联函数可以有效避免函数调用的开销,程序执行效率更高。

缺点:如果被声明为内联函数的函数体非常大,则编译器编译后程序的可执行码将会变得很大。

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜