c中存储类

c中的变量可以按三个标准进行划分:

1)作用域

    文件作用域(又称全局作用域)

    代码快作用域(函数的局部变量,函数中声明的变量)

    函数原型作用域

    函数作用域(c语言中仅对goto语句的符号)

2)链接

    空链接(局部变量就是空链接)

    外部链接

    内部链接(使用static关键字修饰)

3)存储周期

    静态存储周期(变量在程序执行期间将一直存在)

    自动存储周期(具有代码块作用域的变量一般具有自动存储周期,在程序进入定义这些变量的代码块时,将为这些变量分配内存;当退出这个代码块时,分配的内存将被释放。


存储类就是基于三个标准来进行的分类:

1:自动存储类型变量(不会进行自动初始化,若为初始化,其初值是先前占用分配给它存储空间的任意值)

2:寄存器存储类型变量(寄存器变量不可以使用&进行地址获取,因为寄存器中的变量无地址)

3:外部存储类型变量(也称作具有外部作用域的静态变量、外部链接的静态变量ps:静态就是指静态存储周期,就是指在程序运行期间一直存在),就是把一个变量定义在所有的函数之外,为了程序代码的清晰,可使用extern进行修饰,不初始化会自动进行初始化,初始值为0

4:具有代码块作用域的静态变量(函数代码块中使用static关键字修饰的变量,改种变量若不显示的初始化,其初始值为0)

5:具有内部链接的静态变量(具有内部链接的静态变量只可以被与它在同一个文件中的函数使用)

你可能感兴趣的:(c)