C语言的变量属性
在定义变量的时候可以加上属性关键字
1)auto
auto是C语言中,局部变量的默认属性
auto表明将被修饰的变量存储于栈上
编译器默认所有的局部变量都是auto的
2)register
1.register关键字指明将局部变量存储于寄存器中
2.register只是请求寄存器变量,但是不一定成功
3.register变量必须是CPU寄存器可以接受的值
4.用&不能获得register变量的地址(因为,&是获得内存中的地址,而register变量是存储于寄存器中,当然不能使用&来获得register变量的地址)
3)static
1.static关键字指明了变量的”静态“属性
—-static修饰的局部变量存储在程序静态区
2.static关键同时具有“作用域限定符”的意义
—-static修饰的全局变量作用域只是声明的文件中
—-static修饰的函数作用域只是声明的文件中
4)extern
1.extern用于声明“外部”定义的变量和函数
—-extern变量在文件的其他地方分配空间
—-extern函数在文件的其他地方定义
2.extern用于“告诉”编译器用C的方式编译
C++编译器和一些其他的C编译器由于开发者不同,各个不同的编译器会按照自己的方式编译函数和变量,但是,当有了extern之后,就必须遵照“标准C的方式编译程序“
原文地址:https://blog.51cto.com/chen0547/1983643
相关推荐
-
Hash 的应用 c/c++
2019-3-29
-
线程同步的三种方式 c/c++
2019-3-30
-
字符串常量初始化指针 c/c++
2019-9-8
-
c++二分查找 c/c++
2019-7-24
-
GacUI的中文教程就写在这里了 c/c++
2019-4-1
-
C语言 scanf 小结 c/c++
2019-3-30
-
Qt显示Linux desktop natification气泡提示框 c/c++
2019-5-22
-
并查集(Union Find) c/c++
2019-6-10
-
理解Go 1.13中sync.Pool的设计与实现 c/c++
2020-6-15
-
经典排序算法 – 选择排序 c/c++
2019-9-15