标题:教科书级的多重指针问题
只看楼主
lantianye
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-8-6
 问题点数:0 回复次数:7 
教科书级的多重指针问题
char *arr[20];
char **parr=arr;
那么parr==arr?
*parr==*arr==arr[0]?
**parr==*arr[0]?
以上三个等式应该是对的吧?????
各位大虾赶快给个答案,小弟拜谢!!!!!
搜索更多相关主题的帖子: 指针 教科书 arr 等式 
2007-08-06 19:04
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:0 
yes!!!

要练习算法就来http:///!!有挑战哦!!
2007-08-06 19:07
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:0 
你基础很好!!那么你觉得(*arr)[20]和*arr[20]有什么不同啊??

要练习算法就来http:///!!有挑战哦!!
2007-08-06 19:09
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
得分:0 
.......
函数
数组

偶是菜鸟鸟偶惧WHO?!!!!
2007-08-06 19:33
lantianye
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-8-6
得分:0 
(*arr)[20]是数组吧,你前边应该加上 数据类型 (*arr)[20],arr指向含20个元素的数组,指向这个数组的首地址,叫数组指针对不对?
*arr[20]是指针吧,指针数组arr,由20个指针元素组成,前边应该加上 数据类型 *arr[20],arr[0]…arr[19]都是指针,*arr==arr[0],**arr==*arr[0],对吧?
2007-08-06 19:41
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
得分:0 
优先级别()>[]>*

偶是菜鸟鸟偶惧WHO?!!!!
2007-08-06 19:59
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:0 
(*arr)[20]是指针
说明(*arr)是有20个元素的数组,那么arr就是指向有20个元素这样数组的指针,就如arr[][20]一样!!!


int year[12][31];
int (*arr)[31];
初始化方法一:
for(i=0;i<12;i++)
for(j=0;j<31;j++)
*(*(year+i)+j)=0;或者直接year[i][j]=0;

初始化方法二:
for(arr=year;arr!=(year+12);arr++)
{
int *day;
for(day=*arr;day!=*arr+31;day++)
*day=0;
}

主要是为了让你知道(*arr)[20]和二维数组的关系!!


接着
int *arr[20]是数组;
就不用说了:数组的元素是20个int指针

要练习算法就来http:///!!有挑战哦!!
2007-08-06 20:05
lantianye
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-8-6
得分:0 

我开头给写错了后边都对,查了谭浩强那本书,(*arr)[20]是指针,叫数组指针,int *arr[20]是数组,叫指针数组
感谢viky2003的纠正!

2007-08-07 00:13



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




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

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