| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1116 人关注过本帖
标题:数组,指针问题,求大神帮忙看看
只看楼主 加入收藏
peng880610
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:128
专家分:123
注 册:2017-3-29
结帖率:100%
收藏
已结贴  问题点数:18 回复次数:3 
数组,指针问题,求大神帮忙看看
#include <stdio.h>
#include <conio.h>
void main(void)
{
    int A[2][3][4]={{{1,2,3,4},{5,6,7,8},{9,10,11,12}},{{13,14,15,16},{17,18,19,20},{21,22,23,24}}};

    int* pA=A[0][0];
    for(int i=0;i<2;i++)
        for(int j=0;j<3;j++)
            for(int k=0;k<4;k++)
                printf("%d ",*(pA+i*3*4+j*4+k));
    getch();
}
上面代码里面的“*(pA+i*3*4+j*4+k)”怎么理解?求大神帮忙理解下,万分感谢
搜索更多相关主题的帖子: include 
2017-05-15 00:20
jrz
Rank: 1
等 级:新手上路
帖 子:1
专家分:9
注 册:2017-5-14
收藏
得分:9 
A是一个三维素组,循环时i控制行数为二,每行三列,每列四维,pA+i*3*4+j*4+k表示每个元素的地址,加*表示每一个元素pA为首地址
2017-05-15 08:40
天丛云
Rank: 2
等 级:论坛游民
帖 子:48
专家分:50
注 册:2016-11-8
收藏
得分:9 
楼主应该是想问为什么是这么个式子吧,首先pA是此数组的首地址,数组可分为两大组,每大组有三小组,每小组有四个元素,+k表示pA移动一个int,+j表示移动一个小组,即四个int长,+i表示移动一个大组,即3*4个int长,如此pA即可逐个指向每个元素。
2017-05-15 19:00
peng880610
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:128
专家分:123
注 册:2017-3-29
收藏
得分:0 
回复 3楼 天丛云
对的,对的,我就是想问那个式子的意思?之前看的,真是一头雾水,感觉指针进阶这块好难理解啊
2017-05-15 21:49
快速回复:数组,指针问题,求大神帮忙看看
数据加载中...
 
   



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

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