C程序设计教学做一体化教程_第6章_ 函数的结构与调用.ppt

C程序设计教学做一体化教程_第6章_ 函数的结构与调用.ppt

C程序设计教学做一体化教程_第6章_ 函数的结构与调用

1.auto局部变量 局部变量默认是auto变量,操作系统以动态方式为其分配内存。也就是说声明局部变量时默认地有关键字auto修饰,即下列声明局部变量是等价的: auto int x; int x; 当函数被调用执行时,操作系统为函数体中以及参数中的局部变量分配内存空间,函数体执行完毕,操作系统即刻释放分配给局部变量的内存 2.static局部变量 在声明局部变量时可以使用static关键字给予修饰,例如: static int x; static float y; 声明了两个static局部变量。static局部变量特点如下: 可以把static理解为:在程序运行期间,操作系统为static局部变量分配了一个固定的、不再改动的内存区域。 当函数调用执行完毕,操作系统不释放为static局部变量分配的内存空间(这一点和auto局部变量不同),函数调用结束时会保留当前static变量的值。 也就是说,函数被再次调用时,操作系统不再为static局部变量分配的内存或初始化。因此,static变量的初始值是上次函数调用保留下来的值。 3.全局变量 操作系统总是以静态方式为全局变量默分配给内存空间。全局变量的内存空间,一直到程序结束才释放所占用的内存。如果不希望在全局变量有效范围之外的地方使用关键字extern引用全局变量,就可以使用static修饰该全局变量,例如: static in

文档评论(0)

1亿VIP精品文档

相关文档