免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2859 | 回复: 3
打印 上一主题 下一主题

int** p,int* p,int *p,int* p[5]的区别是什么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-14 17:10 |只看该作者 |倒序浏览
比较迷惑,有些还很容易混。
int** p;
int*   p;
int   *p;
int*  p[5];
p=int*[5];

double** balance = new double*[10]; // C++

没学过C++,所以请各位指点一下。能透彻的说明更好。谢谢。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-10-14 18:29 |只看该作者

int** p,int* p,int *p,int* p[5]的区别是什么?

呵呵,都是很容易模糊的概念呢。
1、p自己占一个空间,这个空间是一个地址,这个地址所在的空间还是放的一个地址,第二个这个地址是一个int大小的空间。
2、p自己占一个空间,这个空间是一个地址,这个地址是一个int大小的空间。
3、同2。不同写法,习惯而已。
4、p是一个有5个元素的数组(数组的概念理解吧),每个元素是一个指向int类型的指针。即每个元素都是一个上面说的第二条。
5、是C++里面的语法。p自己占一个空间,里面放的是一个地址,这个地址指向的是一个连续5个int大小的空间,即指向的是一个5个int元素的数组。
6、是C++里面的语法。balance自己占一个空间,这个空间里放的是一个地址,这个地址是一个连续5个元素的空间。这5个元素,每一个里面放的是一个地址(地址2),这个地址(地址2)的空间是一个double大小的空间。

论坛徽章:
0
3 [报告]
发表于 2004-10-15 13:13 |只看该作者

int** p,int* p,int *p,int* p[5]的区别是什么?

c++的这种语法一看上去好古怪。

论坛徽章:
0
4 [报告]
发表于 2004-10-15 15:08 |只看该作者

int** p,int* p,int *p,int* p[5]的区别是什么?

楼上的概念很清晰呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP