关键字:变量的限定符

一:限定符

1.1 const:限定符,标记变量为只读

声明方式:

const int Months=12;     //Months为只读变量,可以读取,但是不能更改,赋值

 

1.2  volatile :可以改变该变量的值。通常被用于硬件地址以及在其他程序或同时运行的线程中共享数据。

声明方式:

volatile int locl;         //locl是一个易变的位置
volatile int *ploc;        //*ploc是一个指向易变的的位置的指针

 二: 作用域:作用域分为块作用域、函数作用域、函数原型作用域或文件作用域。形参作用域也是在函数块内。C99允许变量可以定义在块中的任意位置。

    2.1  块作用域:从变量定义块的起始到块的结束,C99扩展了块的内容,包含了for、while、do  while和 if 语句。

    2.2  函数作用域:

    2.3  函数原型作用域: 用域函数原型中的形参名。

   2.4  文件作用域:(全局变量)定义在函数体的外部,对于整个.C文件都可以引用。文件作用域仅限于一个翻译单元(一个源码文件和它的头文件)。

三 : 链接:C变量有三种链接属性:外部链接、内部链接、无链接。

    3.1  无链接:  具有块作用域、函数作用域、或函数原型作用域的变量都是无链接变量

    3.2  外部链接:具有文件作用域的变量可以是外部链接和内部链接


  static int b=3;   //作用域该源文件的内部
  int a=5//可以被其他源文件引用,一般添加extern 外部声明
  int main(void)
 {

  }
 

四: 存储期。C对象有4种存储期:静态存储期、线程存储期、自动存储期、动态分配存储期。 

 

posted @ 2020-08-11 23:36  爬上那个坡  阅读(145)  评论(0编辑  收藏  举报