| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8431 人关注过本帖
标题:[求助]2重指针的问题-->myajax95转移-->baidu转移
只看楼主 加入收藏
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
请教int(*p)[5];怎么分配内存,怎么用。我只知道他的书面解释,还没用过。

[此贴子已经被作者于2006-7-24 15:45:57编辑过]



[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-24 15:45
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
以下是引用穆扬在2006-7-24 15:42:18的发言:

关于那个 int arr []={1,2,3}; int *p = arr;是可以的
关于new的用法的解释,你参考一下C++书籍,去网上下载<<C++ Primer>>第三版中文版,里面说得非常清晰


c++/C + 汇编 = 天下无敌
2006-07-24 15:47
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
以下是引用wfpb在2006-7-24 15:45:38的发言:
请教int(*p)[5];怎么分配内存,怎么用。我只知道他的书面解释,还没用过。

因为int(*p)[5]已经规定了大小了,而且已经定义了是数组指针,所以不可以动态分配内存了,你可以编译看看


c++/C + 汇编 = 天下无敌
2006-07-24 15:50
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-24 15:50
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
int *pt = new int[5];
我们把[]看做一个地址吧,里面虽然应该是2进制,我这里就不详细写了
动态分配内存,5个int所以是5*4=20bit;每两个元素的首地址之间是差4的。假设第一个元素的首地址是0x000000
[1] [2] [3] [4] [5]
0x000000 0x000004 0x000008 0x00000C 0x00000F
那么pt==0x000000;就是这个意思

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-24 15:52
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 

跟穆兄的讨论已经没有任何意义了,要想得到正确得结论,请穆兄学一下C++再进行讨论


c++/C + 汇编 = 天下无敌
2006-07-24 15:52
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
以下是引用穆扬在2006-7-24 15:50:58的发言:

这不涉及分配内存问题吧
比如
int i;
有内存分配问题么

既然是要动态的分配内存空间存储2维数组,怎么可以不分配呢?
好吧,暂且不说这个。

我想问下,这里int(*p)[5];
是不是相当于int arr[5];啊?
那也是说赋值是(*p)[0]=arr[0];这个意思?他们的类型是一样的吗?


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-24 15:55
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-24 15:57
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-24 15:59
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
好了,终于看完了。相信楼主MM已经得到了答案,实在没必要让这个吵架贴子存活了。相信大家用C或C++都有一阵了,这里没有任何什么C与C++的区别,这里面讨论的所有的指针问题都是C的指针问题。C++在扩展C功能时没有改,也没有必要改。大家查一查书一定可以找到了。指针就这么几十页书就学完的,大家都是明白人。技术和吵架还是分开的好,至少我不想在技术区和谁吵架,所以我不会回穆扬的帖子。

感谢热情依然兄关于auto couting reference 的例子,还没全拜读完。感觉没全作完?因为这个指针一个主要的用处就是当指向这块内存的reference数为零时可以自动将内存清理掉。回头我一定写一篇详细的。先到这吧。结贴了。省得让老K在那看打架偷笑。

http://myajax95./
2006-07-24 15:59
快速回复:[求助]2重指针的问题-->myajax95转移-->baidu转移
数据加载中...
 
   



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

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