[请教高手 C语言中把变量定义在主函数之外和定义在主函数之内有]两者的区别只在于作用域和生存周期。main函数是一个进程的入口,此外,和别的函数无区别。 1、main函数里定义的是局部变量,只是在main函数里有效。 2、如果程序里有多个函数,定义...+阅读
从变量的作用范围来区分,可以将变量分为“局部变量”、“程序集变量”和“全局变量”。
局部变量:只能在其所在的子程序中才能被调用的变量,其它子程序都无法调用。因为子程序被调用的时候,这种变量才占用系统的内存,当程序执行结束后,变量所占空间被系统收回,因此局部变量是非常省系统内存的。
程序集变量:一般情况下仅在本程序集中被调用。若在其它窗口程序集中调用,则需要在变量名前加上程序集对应的“窗口名称”前缀,程序集变量所在的程序集中的所有子程序,都可以自由访问程序集变量,多个子程序都需要访问的数据,可以使用程序集变量来存储。
全局变量:在程序运行后,所有程序集内子程序都可以使用的变量。也是覆盖范围最大的变量。这种变量在程序运行后即占用内存空间,在程序运行结束才从内存中清除,所以会长时间占用系统资源,建议根据程序的实际情况适当使用。
从变量的属性来区分,还可以将变量分为“静态变量”和“数组变量”。
静态变量:就在静止存在的局部变量。当所处子程序退出时,静态局部变量能够保留住现行内容以供下次继续使用;而非静态的变量就不能,下次进入子程序时它将被重新初始化。如果局部变量不设置“静态”属性,子程序执行完毕后,将清空该子程序中的所有非静态局部变量;如果局部变量设置了“静态”属性,当子程序执行完毕后也不会被清空,当子程序再次被调用时,静态变量的值仍保持上次被调用时的状态。
数组变量:即可以存放一组数据的变量。数组变量中的每个成员都拥有独立的存储单元,可以单独调用和赋值。其实数组变量可以看做是多个非数组变量组成的。数组变量又分为“单维数组变量”和“多维数据变量”。
变量的初始值
变量的初始值即一种变量在程序运行后,没有赋予新值前的初始数据。每一种数据类型的变量初始值都有所不同。像文本型变量的初始值是一个空文本,表示为“”,数值型变量的初始值为 0等等。
变量类型 变量初始值 初始值在代码中的表示方法
数值型 0 0
逻辑型 假 假
日期时间型 2011年2月6日 2011年2月6日 文本型 空文本 “”
字节集型 空字节集 {}
以下为关联文档:
c语言什么是外部变量是什么意思外部变量是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。编译时将外部变量分配在静态存储区。...
c语言中主函数中定义的变量调用函数里还需要再定义吗C语言中主函数中定义的变量只能在主函数中使用,所以你还得再定义一个变量。 当然,捏可以把主函数中定义的这个变量传递给被调用的函数作为参数。 例如 void fun(int x) { } ma...
C语言函数中定义变量的问题静态变量,特点就是只初始化一次。所以在这里b是只定义一次的。 于是 1 会占用,但是很少。 和全局变量定义差不多 2 没有,因为不存在多次定义,只定义了一次。 3 除了生命周期,最大...
C语言关于外部变量一般不把这两句放在同一个源文件里。 第一个是一个变量的定义,第二个是变量的声明。 在文件a.c中定义一个USER login_user;但是在文件b.c中要用到这个全局变量,就采用声明的方...
本人用易语言编程出现错误30:找不到指定的变量名称单选框1首先,单选框是没有内容这一属性的,倒是有个标题属性可以使用 单选框1.标题 其次,如果()括号里面需要的是一个逻辑型的条件语句,如 单选框1.标题="重新启动" 第三:回答者:ar2lee - 助理...
求解在校一个月的生活感想记得当时拿着通知书时喜悦的心情,到现在对着电脑写心得体会的时间,才发现两年的时间,一晃而过。回顾这二年的大学生活,心里总充满着感激,感激老师对我的培养,感激同学的支持、信任...
C语言中在说明一个结构体变量时系统分配给它的存储空间怎么计算struct dog { char ch[10]; int i; int *p; double k; }dog1; 在c语言中如何计算结构体长度和共用体长度? 结构体的长度等于体内各个成员变量长度之后。如此题长度为字符串数...
如何在教学中张扬学生的个性新课程标准学习体会点滴求解《新课程标准》中明确指出:学习是一种个性化行动。确实,学习是学生自己的事,任何人都无法代替。作为教师并不要精心去打造自认为充实的课堂教学,他的职责就是在创设的自然环境中...
汇编语言:编写子程序将内容变量arr中的10个字数用冒泡排序算法将数据段DATA开始的16个数排序,前小后大,程序示例如下: DATAS SEGMENT arr DB 74,68,58,66,69,254,186,6,10,98,34,90,128,222,33,0 COUNT DB 10 DATAS ENDS CODES SEGMENT ASS...