c语言学习记录.关键字.存储类型关键字等

关键字const

1.修饰变量。

  修饰的对象为常量,只读。

2.修饰指针。

  const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据。

  const 离变量名近就是用来修饰指针变量的,离变量名远就是用来修饰指针指向的数据,如果近的和远的都有,那么就同时修饰指针变量以及它指向的数据。

3.修饰函数的参数。

  用在函数形参中,如果形参是一个指针,为了防止在函数内部修改指针指向的数据,就可以用 const 来限制。

关键字static

用于定义全局静态变量

1、修饰局部静态变量
  存储在静态存储区,在程序整个运行期间都不释放。在所处模块初次运行时进行初始化工作,且只操作一次。
2、修饰外部静态变量/函数
  用来表示不能被其他文件访问的全局变量和函数。但为了限制全局变量/函数的作用域,函数或变量前加static使得函数成为静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件(所以又称内部函数)。注意此时,对于外部(全局)变量,不管是否有static限制,它的存储区域都是在静态存储区,生存期都是全局的。此时的static只是起作用域限制作用,限定作用域在本模块(文件)内部。

关键字auto

  即为自动局部变量,存储在栈上,当函数结束时,随之释放。

关键字extren

   声明变量是在其他文件正声明(也可以看做是引用变量)。

关键字register

  声明寄存器变量。

关键字volatile

  说明变量在程序执行中可被隐含地改变。

  量如果加了 volatile 修饰,则会从内存重新装载内容,而不是直接从寄存器拷贝内容。

  确保本条指令不会因编译器的优化而省略,且要求每次直接读值。

关键字typedef

  数据结构的表示(存储结构)用类型定义(typedef)描述。

  #define不同,typedef创建的符号名只受限于类型,不能用于值。

  typedef由编译器解释,不是预处理器。

猜你喜欢

转载自www.cnblogs.com/protogenoi/p/8522384.html