中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > C/C++
请问外部变量和内部变量是什么意思?
作者:未知 时间:2005-09-13 23:29 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:请问外部变量和内部变量是什么意思?
感到好抽象,外部,内部指的是哪里?

是对于储存器来说的,还是程序。 ------- 看那C语言部懂的概念

这是由于程序分块编译造成的。对于大型程序来说,一般有很多个小程序,每个小程序都是一个独立的编译单元。由于每个程序不可避免地要引用其它程序的变量,所以在编译时,要暂时不分配地址,而编译单元中的变量可以直接分配地址。这种编译上的不同,造成外部变量和内部变量上的差异。外部变量的地址定位要等到连接时才能完成。
哪里出现的

现在好像都没有这个说法了吧

如果有那也应该是对可见性来说

外部变量可以被其它文件访问

内部变量只能在定义的范围内访问(在文件内定义的就是在此文件内被访问 在函数内定义的就是在函数内可以访问)
谢谢大家,我懂了。但要在以后实践中才能理解得透。

随便在这里问个问题。
5 % 10 == 5
2 % 89 == 2
怎么会这样? 不是前面的数的绝对值要大于被除书的绝对值才行的吗 ?
我的理解,前面的数,2和5,就是被除数。
10和89是除数。
按照你的做法

5 % 10 == 0
2 % 89 == 1
和结果不同哦
这里不得不给个忠告,哪里不懂,赶快找本书看看,再不看,只会不停的重复过去的错误,永远停留在原地。
比如:
5 % 10 == 5
我可以说右边不一定是 5,右边可以是任何整数。
因为这个本身是一条关系表达式,在 c 语言里 == 是关系运算符,并不等同于 =,两者意思相差十万八千里,如果平时不注意这些细节,那么你编程时会吃很多的苦头,有时候你可能跟本查不出错误在哪里。

求余数运算看似简单,有些地方还是比较有趣的,不动手实验一下,会判断错误。如负数取余数:
代码:
#include <stdio.h>

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)<<endl;
这是我的理解,不一定都正确。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有