码迷,mamicode.com
首页 > 其他好文 > 详细

作用域、全局局部变量、链接属性、存储属性、生存期、内部外部函数

时间:2015-11-28 23:02:55      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

1. 首先看函数的定义:

类型 函数名(形式参数)

{

代码块 //函数体就是代码块

}

函数名本身不属于任何代码块。

函数原型中声明参数 // 原型作用域。在原型中,参数的名字并非必须。如果出现,可以随便取任何名字,不必和形参、实参匹配。

函数定义的形式参数 //在函数体内部具有代码块作用域

函数调用的实际参数 

 

2. 作用域(是对标识符而言,标识符:就是变量、函数、类型等的名字。它们有大小写字母、数字和下划线组成,但不能以数字开头。)

代码块作用域:任何在代码块的开始位置声明的标识符都具有代码块作用域,表示它们可以被这个代码块中的所有语句访问。(代码块:位于一对花括号之间的所有语句称为一个代码块。)

文件作用域:代码块之外(除了函数定义的形参)声明的标识符都具有文件作用域。

原型作用域:只适用于函数原型中声明的参数。

函数作用域:用于goto语句。我希望你永远不要用到这个知识,就是说它基本上不会用到。

 

3. 链接属性

环境:一个程序可有多个源文件组成,如果相同的标识符出现在几个不同的源文件中时,它们是像Pascal那样表示同一个实体?还是表示不同的实体?

标识符的链接属性决定如何处理在不同文件中出现的标识符。标识符的作用域与它的链接属性有关,但这两个属性并不相同。

链接属性有三种:

external(外部):属于external链接属性的标识符不论声明多少次、位于几个源文件都表示同一个实体。

internal(内部):属于internal链接属性的标识符在同一个源文件内的所有声明都指同一个实体,但位于不同源文件的多个声明则分属不同的实体。

none(无):没有链接属性的标识符(none)总是被当作单独个体,也就是说该标识符的多个声明被当作独立不同的实体。

 

作用域、全局局部变量、链接属性、存储属性、生存期、内部外部函数

标签:

原文地址:http://www.cnblogs.com/htmlphp/p/5003568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!