static和const关键字的作用
2017-03-27 00:00
316 查看
摘要: 读书笔记,记录分享
static的关键字的主要作用如下:
(1)函数体内,static变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。
(2)在模块内的static全局变量可以被模块内所有函数访问,但不能被模块外其他函数访问。
(3)在模块内的static函数只可被这一块模块的其他函数调用,这个函数的使用范围被限制在声明它的模块内。
const关键字的作用如下:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了。
(2)对指针来说,const可以指定指针本身-->指针常量(var * const p 指向不可变,所指内容可变)
也可以指定指针所指的数据-->常量指针(var const *p 指向可变,所指内容不可变)
也可以既指定指针本身又指定指针所指的数据(const var *const q 指向不可变,所指内容不可变)
注意:在定义const变量时,必须要对变量初始化,否则编译器会报错。
static的关键字的主要作用如下:
(1)函数体内,static变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。
(2)在模块内的static全局变量可以被模块内所有函数访问,但不能被模块外其他函数访问。
(3)在模块内的static函数只可被这一块模块的其他函数调用,这个函数的使用范围被限制在声明它的模块内。
static int i=0; void fun1(){ i=0; i++; printf("i=%d\n",i); } void fun2(){ static int j=0; j++; printf("j=%d\n",j); } int main(int argc, const char * argv[]) { // insert code here... for (int i=0; i<5; i++) { fun1(); // ---> i=1 i=1 i=1 i=1 i=1 fun2(); // ---> j=1 j=2 j=3 j=4 j=5 } return 0; } /* j被定义为局部静态变量,其值在每次函数结束时都被保留,所以结果都是上一次值加1 */
const关键字的作用如下:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了。
const int a=0; a=10; //改行显示报错 /* * const修饰的是只读变量,只读变量的值在定义后就不能再改变了 */
(2)对指针来说,const可以指定指针本身-->指针常量(var * const p 指向不可变,所指内容可变)
//错误示范 int *const q=&a; // q=&b;
也可以指定指针所指的数据-->常量指针(var const *p 指向可变,所指内容不可变)
//错误示范 int const *p=&a; // *p=10;
也可以既指定指针本身又指定指针所指的数据(const var *const q 指向不可变,所指内容不可变)
//错误示范 const var *const p= &a; // *p=10; // p=&b;
注意:在定义const变量时,必须要对变量初始化,否则编译器会报错。
相关文章推荐
- C语言中关键字auto、static、register、const、volatile、extern的作用
- 关键字static、Const、Volatile的作用是什么
- 关键字static/const的作用
- 关键字static、Const、Volatile的作用是什么
- 请说出static和const关键字尽可能多的作用
- static和const关键字的作用
- 说明以下关键字的作用 auto static register const volatile extern
- C语言中关键字auto、static、register、const、volatile、extern的作用
- 关键字register、static、extern、const作用
- 关键字static、const、volatile的作用
- 关键字static/const的作用 const常量与define宏定义的区别
- 说明以下关键字的作用 auto static register const volatile extern
- C语言中Static和Const关键字的的作用
- C语言中关键字auto、static、register、const、volatile、extern的作用
- static和const关键字的作用
- static和const关键字的作用
- 简单介绍C语言中auto,register,static,const,volatile,extern等几个关键字的作用
- C语言中Static和Const关键字的的作用
- 关键字static 与const的作用及区别
- C语言中关键字作用(const和static和extern)