标题:四个变量之间的区别
只看楼主
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
结帖率:66.67%
 问题点数:0 回复次数:5 
四个变量之间的区别

说出下面四个变量之间的区别 (A) int ival = 1024; (B) int *pi1 = &ival; (C) int *pi2 = new int(1024); (D) int *pi3 = new int[1024];

ival为堆栈变量,其值为1024; pi1指向ival,其值为&ival(或*pi1==1024); pi2指向堆中分配的一个int变量,其值为1024; pi3为堆中分配的数组,其值未初始化。

不过,我认为pi2,pi3也是堆栈中的变量,只不过,它们的值为堆中的地址。就是用堆中的(元素类型为整型,个数为1024)数组初始化了它。实际上只是把这个动态数组的首地址赋值给它了。

事实上,只要是在函数体内声明的变量,都会在堆栈中为之分配一个空间(static、extern除外),在函数体内根本无法定义或操作堆,只有通过指针对它“遥控”。

我被搞糊啦,到底是堆、栈,还是堆栈啊!我记得堆是堆,栈是栈,堆栈是两个概念和起来的说法呀!

堆栈是一种栈,每在应用程序执行之前,系统会先分配一块内存给应用程序以栈的方式使用,这就是堆栈。你说的对,栈是一种概念,应用在LIFO当中,你可以在堆或堆栈中分配一块内存以栈的方式使用。而堆其实就是系统未分配给用户的给用户使用的内存块。

[此贴子已经被作者于2004-08-29 19:41:33编辑过]

搜索更多相关主题的帖子: 变量 int 堆栈 ival 动态 变量 int 堆栈 ival 动态 
2004-08-28 13:01
阿一2004
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2004-7-24
得分:0 
没试过这游戏!
2004-08-28 14:12
musicyxy
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2004-8-14
得分:0 

我是游戏迷啦,这样的事常见,但还是没办法!(别骂我)

1,最好的解决方法莫过于在盘上找,盗版的盘上都有解密方法!

2,有虚拟光碟这个软件吗?用它把所有文件(包括SETUP。EXE)压制成一张碟,游戏前放进虚拟光驱就OK了!

3,修改游戏名,.exe的,多试几个!

4, 下载的很多都不行,还是买一张D版碟吧!

XP可以玩D版,我家就XP,除了魔兽全是D版游戏!


2004-08-28 16:00
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
得分:0 
没有玩过!

永不放弃!
2004-08-28 17:45
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
得分:0 

不好意思游戏还是玩不了,把帖子改回来算了。

[此贴子已经被作者于2004-08-29 19:42:37编辑过]

2004-08-28 18:30
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
得分:0 
大家来讨论一下……不过话说回来,明天星期一倒真的要开学了,以后真的真的不能常来了,kai的帖子还没跟下去呢~~~
2004-08-29 19:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-4661-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.067949 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved