鱼C论坛

 找回密码
 立即注册
查看: 2518|回复: 1

多维数组 和指针变量的关系搞不懂(已解决)

[复制链接]
发表于 2012-3-19 12:24:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 henrywsnew 于 2012-3-19 12:50 编辑

谭浩强指针一章中
例9.15
求平均成绩
#include<stdio.h>
main()
{
        void average();
        void search();
        static float score[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};
        average(*score,12);
        search(score,2);
}

void average(p,n)
float *p;
int n;
{
        float *p_end;
        float sum=0,aver;
        p_end=p+n-1;;
        for (;p<=p_end;p++)
                sum+=(*p);
        aver=sum/n;
        printf("average=%5.2f\n",aver);
}
在主程序中调用average函数时实参用了*score,我能理解,但是我不加*号也出来同样结果,按理说不加*号是不对的,但为什么会出来同样的结果呢?请老师指教。
原来加*和不加*地址都是一样的。

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-3-19 18:50:39 | 显示全部楼层
*score &score score都是地址
传啥都一样 看你形参定义 如果不能转换也可以强转 看你怎么使用问题了
代表意义分别为 float *p
float (*p)[3][4]
float (*p)[4]
好久没用过指针的
自己定义测试下


小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-12 04:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表