全局变量

全局变量储存在数据段,所以main函数和调用全局变量的函数都是可见的.全局变量不会因为某个函数的执行结束而消失,在整个执行过程中始终有效,因此工作中应尽量避免使用全局变量!在函数内定义的变量都称为局部变量,局部变量存储在对应的栈空间内,函数执行结束之后,函数内的局部变量所分配的空间将得到释放.如果局部变量和全局变量重名,那么将采用就近原则,即实际获取和修改的值将是局部变量的值.

eg:

#include<stdio.h>
#include<stdlib.h>

int i=10;
void print( int a)
{
	printf("pritnt i=%d
",i);
}
int main()
{
	int i=7;//就近原则,避免全局变量与局部变量相同
	printf("main i=%d
",i);
	i=5;
	print(i);
	system("pause");
	return 0;
}

打印结果结果毋庸置疑,没错打印出来i应该是7和10,main函数里面第二个i=5改变的是局部变量i =7的值,因为如果局部变量和全局变量重名,那么将采用就近原则,即实际获取和修改的值将是局部变量的值.

原文地址:https://www.cnblogs.com/buxiu888/p/14101622.html