全文预览

内蒙古机电职业技术学院

上传者:业精于勤 |  格式:pdf  |  页数:7 |  大小:198KB

文档介绍
定义:[存储特性][数据类型]变量名;\r3.变量的存储特性\r自动型auto\r静态型static\r寄存器型register\r外部型extern\r(1)auto型\r例如:形式参数,自动型局部变量\r每次进入程序是自动分配内存,不长期占用内存\r(2)static型\r①局部静态变量②全局静态变量\r长期占用内存\r试分析下面程序的执行结果:\rf(inta)\r{intb=0;staticintc=3;/*静态变量只初始化一次*/\rb++;c++;\rprintf(“%5d%5d%5d”,a,b,c);\rreturn(a+b+c);\r5\r内蒙古机电职业技术学院《C语言程序设计》教案\r}\rmain()\r{inta=2,k;\rfor(k=0;k<3;k++)\rprintf(“%5d\n”,f(a));\r}\r(3)register型\r将使用频率高的变量定义为register型,可以提高运行速度.\r寄存器变量只限于整型、字符型、指针型的局部变量。寄存器变量是\r动态变量,而且数目有限,一般仅允许说明两个寄存器变量。\r例如:\rregisterintd;\rregistercharc;\r(4)extern型\r引用:extern类型变量名;\r如果某个模块文件中要用到另一个模块文件中的全局变量,就要用\rextern说明一个外部变量\r例如:程序模块file1.c中定义了全局变量ints;\r而在另一个程序模块file2.c中的函数fun1()中需要使用这个变量s,\r为此,可以在file2.c的函数fun1()中加上外部变量说明语句:\rfun1()\r{externints;/*表明变量s是在其他文件定义的*/\r6\r内蒙古机电职业技术学院《C语言程序设计》教案\r.......\r}\r定义时分配内存,其他文件引用时不再分配内存.\r7

收藏

分享

举报
下载此文档