什么叫外部变量 内部变量

在函数体内部的变量,叫内部变量,也叫局部变量
在函数体外部的变量,叫外部变量,也叫全局变量

这个解释对吗,好像内部变量只能在本程序段应用,外部变量可以在程序外应用。 内部变量和外部变量怎么声明啊

外部变量:是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。编译时将外部变量分配在静态存储区。
有时需要在其他文件中使用extern来声明外部变量,以扩展外部变量的作用域。 也可用static声明外部变量,使该变量不能被其他文件引用。
内部变量:在C语言中,在函数体内部的变量,叫内部变量,也叫局部变量;
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-07
C语言中,在函数体内部的变量,叫内部变量,也叫局部变量;
与之对应,在函数体外部的变量,叫外部变量,也叫全局变量。
例如,
#include <stdio.h>
int x=4;
void prin()
{
int z;
}
void main()
{
int x=3;
int y;
}
如上面的,在最上面的int x=4这是定义了一个外部变量,并初始化,
而z和y还有下面的x分别是在函数prin 和主函数里定义的变量,所以都是内部变量。而像在主函数中,用了同样的int x=3;所以,在主函数main中,如果再使用x,外部变量x=4;被屏蔽,也就是x在主函数的值为3本回答被提问者采纳
第2个回答  2008-10-30
请问外部变量和内部变量是什么意思?
来源:互联网 收集:梦幻网络 本站网址:www.7139.com 点击数:141 【字体:减小 增大】

感到好抽象,外部,内部指的是哪里?是对于储存器来说的,还是程序。 ------- 看那C语言部懂的概念
这是由于程序分块编译造成的。对于大型程序来说,一般有很多个小程序,每个小程序都是一个独立的编译单元。由于每个程序不可避免地要引用其它程序的变量,所以在编译时,要暂时不分配地址,而编译单元中的变量可以直接分配地址。这种编译上的不同,造成外部变量和内部变量上的差异。外部变量的地址定位要等到连接时才能完成。哪里出现的现在好像都没有这个说法了吧如果有那也应该是对可见性来说外部变量可以被其它文件访问内部变量只能在定义的范围内访问(在文件内定义的就是在此文件内被访问 在函数内定义的就是在函数内可以访问)谢谢大家,我懂了。但要在以后实践中才能理解得透。随便在这里问个问题。5 % 10 == 5 2 % 89 == 2怎么会这样? 不是前面的数的绝对值要大于被除书的绝对值才行的吗 ?我的理解,前面的数,2和5,就是被除数。10和89是除数。按照你的做法5 % 10 == 02 % 89 == 1和结果不同哦 这里不得不给个忠告,哪里不懂,赶快找本书看看,再不看,只会不停的重复过去的错误,永远停留在原地。比如:5 % 10 == 5我可以说右边不一定是 5,右边可以是任何整数。因为这个本身是一条关系表达式,在 c 语言里 == 是关系运算符,并不等同于 =,两者意思相差十万八千里,如果平时不注意这些细节,那么你编程时会吃很多的苦头,有时候你可能跟本查不出错误在哪里。求余数运算看似简单,有些地方还是比较有趣的,不动手实验一下,会判断错误。如负数取余数:代码:#include int main(){ printf (" -1 % 10 = %d\n", -1 % 10); printf ("(-1) % 10 = %d\n", (-1) % 10); printf (" 1 % (-10) = %d\n", 1 % (-10)); printf ("(-1) % (-10) = %d\n", (-1) % (-10)); return 0;}不测试一下,你答得上来吗?5除以10商0余5,cout<<(5%10):将输出余数,5,而不是商,0.==可以作等号(=)用,但在你贴出的表达式中,==作关系运算符,用于比较左边和右边的值是否相等,相等,则整个表达式的值为1,反之,为0。cout<<(5%10==5)<<(5%10==4)<
第3个回答  2008-10-30
外部变量是多个c文件之间调用的。声明为extern x;
内部变量分为很多,只要有局部(auto),全局,静态(static)等
第4个回答  2008-10-30
外部变量也不能随便让程序外应用吧?你做的是DLL还是什么工程
相似回答