Aug
17
本文是我许久之前看c primer plus摘抄的笔记,今天又遇到了变量的一些问题,于是拿出来温习一下。
------------------------------------------------------
c为变量提供了5种不同的存储类,可以通过变量的存储时期(storage duration)、作用域(scope)、链接(linkage)来描述。
---------------------------------
作用域
描述程序中可以访问一个标识符(变量)的一个或多个区域。C的变量作用域分为代码块作用域(block scope)、函数原型作用域(function prototype scope)、文件作用域(file scope)三种。
代码块作用域是指包含在花括号之内的一段代码。C具有块作用域,从该变量被定义的地方到包含该定义的代码块末尾,该变量均可见。
函数原型作用域,适用于函数原型中使用的变量名,从变量定义一直到原型声明的末尾。
文件作用域,一个在所有函数之外定义的变量具有文件作用域,从它定义处到包含该定义的文件结尾处可见。文件作用域变量也被称为全局变量(global variable)。
----------------------------------
链接
C变量有三种链接:外部链接(external linkage)、内部链接(internal linkage)、空链接(no linkage)。
具有代码块作用域或函数原型作用域的变量有空链接,意味着它们是由其定义所在代码块或原型所私有。
全局变量(文件作用域)的变量可能为内部或者外部链接,具有外部链接的变量可以在多个文件程序中使用,而一个具有内部链接的变量只能在一个文件内使用。由其在外部定义中是否使用了存储类说明符static决定。
----------------------------------
存储时期
C变量有以下两种存储时期:
静态存储时期(static storage duration)
自动存储时期(automatic storage duration)
如果一个变量具有静态存储时期,它在程序执行期间将一直存在。具有文件作用域的变量具有静态存储时期。对于全局变量,static表示链接类型。
代码块作用域变量一般具有自动存储时期。程序进入代码块时,为这些变量分配内存,退出时,分配的内存被释放。
----------------------------------------------------------------------
存储类

----------------------------------------------------------------------
存储类和函数
函数也具有存储类。默认情况下是外部的,而静态函数只可以在定义它的文件中使用。
------------------------------------------------------
c为变量提供了5种不同的存储类,可以通过变量的存储时期(storage duration)、作用域(scope)、链接(linkage)来描述。
---------------------------------
作用域
描述程序中可以访问一个标识符(变量)的一个或多个区域。C的变量作用域分为代码块作用域(block scope)、函数原型作用域(function prototype scope)、文件作用域(file scope)三种。
代码块作用域是指包含在花括号之内的一段代码。C具有块作用域,从该变量被定义的地方到包含该定义的代码块末尾,该变量均可见。
函数原型作用域,适用于函数原型中使用的变量名,从变量定义一直到原型声明的末尾。
文件作用域,一个在所有函数之外定义的变量具有文件作用域,从它定义处到包含该定义的文件结尾处可见。文件作用域变量也被称为全局变量(global variable)。
----------------------------------
链接
C变量有三种链接:外部链接(external linkage)、内部链接(internal linkage)、空链接(no linkage)。
具有代码块作用域或函数原型作用域的变量有空链接,意味着它们是由其定义所在代码块或原型所私有。
全局变量(文件作用域)的变量可能为内部或者外部链接,具有外部链接的变量可以在多个文件程序中使用,而一个具有内部链接的变量只能在一个文件内使用。由其在外部定义中是否使用了存储类说明符static决定。
----------------------------------
存储时期
C变量有以下两种存储时期:
静态存储时期(static storage duration)
自动存储时期(automatic storage duration)
如果一个变量具有静态存储时期,它在程序执行期间将一直存在。具有文件作用域的变量具有静态存储时期。对于全局变量,static表示链接类型。
代码块作用域变量一般具有自动存储时期。程序进入代码块时,为这些变量分配内存,退出时,分配的内存被释放。
----------------------------------------------------------------------
存储类

----------------------------------------------------------------------
存储类和函数
函数也具有存储类。默认情况下是外部的,而静态函数只可以在定义它的文件中使用。
php for andr
这个XX乱的XX圈[转]



