background image

语言中的变量解析

1、

声明一个变量意味着向编译器描述变量的类型,但并不为变量分配存储。

2、 定义一个变量意味着在声明变量的同时还要为变量分配存储空间。在定义

一个变量的同时还可以对变量进行初始化。

3、

作用域和生存期。
作用域:局部、全局和文件三种。标识符的作用域决定了程序中的哪些语句

能够使用它。(即标识符在程序其他文件中的可见性)通常标识符的作用域都
是由它在文件中的位置隐式说明的。

3.1、局部变量。(局部作用域) 他们通常声明在函数的内部或者语句块的

内部。所谓局部变量就是他们不能被其他函数或者语句块的代码所访问。 函
数的形式参数也是局部的,它的作用范围仅限于函数的内部所使用的语句块。
代码如下:

void add(int);

void main()

{

int num=5; 
add(num);
printf(“%d\n”,num);

}

void add(int num)

{

num++;
printf(“%d\n”,num);

}

解说:上述例子 num 变量都是局部变量,在两个函数出现同名的变量的时
候并不会互相干扰。所以上面的两个输出,在主函数中是 5,在 add()函
数中是 6。
3.2、全局变量。(全局的作用域)全局变量我们可以在程序的任何位置访问
它们,当一个变量在所有函数的外部声明,并且是在程序的开头说,那么
这个变量就是全局变量。
void add(int);int num;

void main()

{

int n=5;
add(n);
printf(“%d\n”,num);

}