局部变量是定义在函数内部的变量,全局变量是定义在函数外部的变量。局部变量只在本函数内有效,即只有在本函数内才能使用,在本函数外不能使用,如果局部变量定义在子函数中,那么只能在本函数内才能使用,在本函数外不能使用。如果局部变量定义在子函数中,那么只能在该子函数中调用。该子函数调用后,系统为该子函数中的局部变量分配的内存空间就会被释放掉。如果局部变量定义在主函数main中,那么只能在main函数中使用,main函数执行结束后,系统会为其中的局部变量分配的内存空间就会被释放掉。主函数也不能使用其他函数中定义的变量,所以不同函数中可以定义同名的变量,但他们所表示的是不同的对象,互不干扰。

在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效,离开本复合语句就无效,且内存单元随记被释放。所谓复合语句就是使用大括号{}括起来的多个语句。下面给大家举一个例子:

#include<stdio.h>
int main(void)
{
	int a = 1;
	int b = 2;
	{
		int c = 3;
	}
	printf("c = %d\n", c);
	return 0;
}

局部变量_其他