在C语言中,变量从作用范围分为全局变量和局部变量。全局变量在定义之后所有的函数均可以使用,只要前面的代码修改了,那么后面的代码中使用的就是修改过后的值。局部变量的作用范围一般在一个函数内部(通常在一对大括号内)。
C语言的强大之处在于它能直接操作内存(指针),但是要完全熟悉他的操作方式我们必须弄清他的存储方式。存储变量的位置分为:普通内存(静态存储区)、运行时堆栈(动态存储区)、硬件寄存器(动态存储区),当然这几种存储的效率是从低到高的。而根据存储的位置的不同,在C 语言中又可以将变量依次分为:静态变量、自动变量、寄存器变量。
全局变量和使用static声明的局部变量都是静态变量。在系统运行过程中只初始化一次。
被关键字auto修饰的局部变量是自动变量,auto可以省略。所有没有被static修饰的局部变量都是自动变量。