c语言问题定义了变量a,int a=5,

[复制链接]
查看11 | 回复5 | 2013-9-5 14:55:27 | 显示全部楼层 |阅读模式
这个看定义在哪里如果是全局变量,在整个程序运行过程中,a是一直存在的,所以地址不会变如果是局部变量,比如在子函数fun()中,只有在调用fun()时,a存在,fun()调用结束,a就不存在了,所以再次调用fun()时,a就是新的了,地址也就变了。...
回复

使用道具 举报

千问 | 2013-9-5 14:55:27 | 显示全部楼层
地址是碗。赋的值是食物。碗不变。碗也有数据类型,不同的碗装不同的食物。但是碗有生命周期。生命结束就不能装食物(赋值)。...
回复

使用道具 举报

千问 | 2013-9-5 14:55:27 | 显示全部楼层
不管是全局变量还是局部变量,在程序运行过程中,在变量没有销毁之前,系统在RAM中分配的地址是确定的。这个和这个变量的内容(即数值)是没有关系的。变量的值就是在系统分配的地址里面存放的。...
回复

使用道具 举报

千问 | 2013-9-5 14:55:27 | 显示全部楼层
全局变量的话在程序退出之前地址都不会改变的局部变量的话变量存在堆栈里,用完就删...
回复

使用道具 举报

千问 | 2013-9-5 14:55:27 | 显示全部楼层
是的,不变...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行