C语言深度剖析读书笔记.docVIP

  • 5
  • 0
  • 约1.49万字
  • 约 32页
  • 2019-06-16 发布于广东
  • 举报
定义:所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存并取上一个名字,这个名字就是我们经常说的变量名或对象名。一个变量在一定的区域(比如函数内,全局等)只能定义一次。 声明: 告诉编译器,这个名字已经匹配到令一块内存上了,下面的代码所用到的变量或对象是别的地方定义的。 告诉编译器,这个名字我先预定了,别的地方再也不能用它来作为变量名或对象名。 定义和声明的区别:定义创建了对象并为这个对象分配了内存,声明并没有分配内存。 Register修饰符的限制:register变量必须是能被CPU寄存器所接受的类型。意味着register变量必须是一个单个的值,并且其长度应小于或等于整型的长度。而且register变量可能不存放在内存中,所以不能用取地址运算符“”来获取register变量地址。 Static的作用: 修饰全局变量:静态全局变量的作用域仅限于变量被定义的文件中,其它文件中即使用extern声明也没办法使用它。准确的说作用域是从定义之处开始,到文件结尾处结束,在定义之前的那些代码页不能使用它,要想使用,就要要在前面加extern ***。要避免这种问题,直接在文件顶端定义就行了。(修饰全局变量,实际上是改变了该变量的链接属性) 修饰局部变量:静态局部变量,在函数体内定义的,就只能在这个函数里使用了,同一个文件中的其它函数也用不了。由于被static修饰的变量总是存在内

文档评论(0)

1亿VIP精品文档

相关文档