码迷,mamicode.com
首页 > 编程语言 > 详细

C语言的变量属性

时间:2017-11-21 01:12:25      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:c   auto   register   static   extern   

  在定义变量的时候可以加上属性关键字

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的方式编译程序“


本文出自 “梵高说我脑子有病” 博客,谢绝转载!

C语言的变量属性

标签:c   auto   register   static   extern   

原文地址:http://chen0547.blog.51cto.com/12489941/1983643

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!