| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8429 人关注过本帖
标题:[求助]2重指针的问题-->myajax95转移-->baidu转移
只看楼主 加入收藏
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 

确实标准C++里面的new 函数里面是用一个死循环来调用 malloc,直到分配成功


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

2006-07-23 19:07
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

好的,上面就是你所有的疑问了吧,好,我把他们全部说完。

我没看出来你这两个例子想反驳我的哪条观点

因为我没发现你有什么观点。

另外我注意到你在"第一种方法"中已经对5楼原来的错误做了修正

我在开始的时候,本只是想大概的给出思路,或许是不清楚的,没想到有您这样的有心人,想要刨根问底,所以做出了全部详尽的说明。

new int[n] 究竟是什么类型的指针,这一点目前你我有争议(我现在根据 热情依然 网友的提示,认为 它是一个 void *)

我看了看MSDN,new和new[]的函数原型都是返回void*;
但是会因为在int*p=new int[10];时知道p是指向什么类型的指针。
至于为什么编译器会知道,我想是因为编译器会判断分配的内存是分配给什么类型的,以什么形式分配的。
所以仍然只能int*p=new int;或者void *p=new int;而不能double *p=new int;
但是C++不支持直接对void*“做动作”比如输出,就不能cout<<*(void*)p<<endl;

9楼 :"pt指向一个整型数组(大小10)"

就相当于有一个int[9],里面存储如下(它们的下面表示他们的地址):
pt(=A)-> [1]-[2]-[3]-[4]-[5]-[6]-[7]-[8]-[9]
address A B C D E F G H I
那么pt会指向[1],即:pt的值是[1]的地址A。

&arr[0]是指针,其含义比"&arr[0]表示的是地址"丰富、全面

这里在探讨指针指向数组的首地址,所以这里把他说成地址,更容易让人理解我说的主题和思想。

&arr[0]是常量或者说具有常量性质,不是左值,不可以被赋值

我是想说&arr[0]赋值给他的左边。如:int *p=&arr[0];
这样是为了说明: 指针->“存储”->“它指向数据的类型”->的地址。

[此贴子已经被作者于2006-7-23 19:38:14编辑过]


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-23 19:32
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
请问。你说第二种方法错误是何解?
既然你觉得这么常识,不会常识到连第二种方法是否正确都不清楚吧?
既然现在也知道new的意思了,那么第2种方法哪里有问题呢?

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-23 19:36
nick_annie
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2005-11-19
收藏
得分:0 
再次谢谢各位!

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

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

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

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

2006-07-23 20:24
摄政王:多尔滚
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2006-7-9
收藏
得分:0 
friend stop, stop

[此贴子已经被作者于2006-7-23 20:27:11编辑过]


19世纪是火车的时代,20世纪是汽车的时代,21世纪是网络的时代。有谁不同意?
2006-07-23 20:25
快速回复:[求助]2重指针的问题-->myajax95转移-->baidu转移
数据加载中...
 
   



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

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