| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 560 人关注过本帖
标题:各位大神帮我解释一下这个小程序吧!!!
只看楼主 加入收藏
虚心向学
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2011-2-15
结帖率:77.78%
收藏
已结贴  问题点数:3 回复次数:6 
各位大神帮我解释一下这个小程序吧!!!
#include"stdio.h"
float *find();
main()
{
static float score[][4]={{60,70,80,90},{56,89,34,45},{34,23,56,45}};
float *p;
int i,m;
printf("Enter the number to be found:");
scanf("%d",&m);
printf("the score of NO.%d are:\n",m);
p=find(score,m);
for(i=0;i<4;i++)
printf("%5.2f\t",*(p+i));
}
float *find(float(*pionter)[4],int n)/*定义指针函数*/
{
float *pt;
pt=*(pionter+n);
return(pt);
}  

谁能解释一下pt=*(pionter+n)的意思   ,不明白啊, 为什么?  (*pionter)[i]表示取数组中第i+1个的值,但是*(pointer+n)是什么意思啊?
#include<stdio.h>
void main()
{
    int b[4]={1,2,3,4},(*a)[4]=&b;      //a指向b中所有元素。
    printf("%d ",(*a)[0]);                 //输出b中的第一个元素
}
这个我明白,但是二维的不懂啊,大家帮忙解释一下啊!!
搜索更多相关主题的帖子: return number include 函数 
2012-03-07 22:20
易轩
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2012-3-3
收藏
得分:1 
*(pointer+n)其实就等价于pointer[n]
2012-03-07 22:25
卡卡罗特wang
Rank: 2
来 自:湖北武汉
等 级:论坛游民
帖 子:63
专家分:42
注 册:2012-2-17
收藏
得分:1 
这程序的意思应该是说,有3组数,没组有4个数,输出第m组数。这样的话,二维数组就是一维数组的每个元素都是一个一维数组,我的理解是一个*相当于一个[](可能这样不是很对),那么(*piont)[]就是piont[][]的另一个写法,可以理解为用指针pionter指向这一连串一维数组的第一个,*(pionter+n)就是使指针pionter移动n,也就是移到第m组数那里,然后把这个地址给pt。

论坛以前好像有关于指针和数组的好帖,可以搜来看看,*和[]的各种组合,把人都可以搞晕……
2012-03-07 23:13
姚杰
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:169
专家分:477
注 册:2010-6-1
收藏
得分:1 
数组pointer[i]你可以把它看成一个指针变量 pointer就相当于*p中是p,指向的是地址&。

比如:int pointer[4]={1,2,3,4};
那么pointer[1]=2 等价于*(pointer+1)=2;
所以*(pointer+n)就等价于pointer[n]
你只要知道数组也是指针的一种,然后知道用法就行了。。

持之以恒,别留遗憾,加油
2012-03-08 12:12
chan_
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:84
专家分:122
注 册:2012-2-29
收藏
得分:1 
.
2012-03-08 12:39
虚心向学
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2011-2-15
收藏
得分:0 
回复 4楼 姚杰
能举个二维数组这样的例子吗,还是不懂啊?一维的明白啊
2012-03-08 17:55
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
收藏
得分:1 
int a[4][4],*p[4]; 这样对应设指针
*(P+a)+b;      就是指第a行第b列的了
 
如果设*p 而不是*p[4] 那么*(p+a)+b 只不过是*(p+a+b) 是指第几个元素而已

没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2012-03-08 20:21
快速回复:各位大神帮我解释一下这个小程序吧!!!
数据加载中...
 
   



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

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