A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 gaoxinglei123 于 2014-4-27 21:33 编辑

rt。求大神解释一下。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

3 个回复

正序浏览
本帖最后由 魅影穿眸 于 2014-4-25 12:06 编辑


(1)int* p[2] 是一个指向int型的指针数组,即:p是包含两个元素的指针数组,指针指向的是int型。

(2)对于 int (*p)[2], 它相当于一个二维数组的用法,只是它是一个n行2列的数。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
int (*p)[3] 就是指向一个int的数组的头指针的指针
用法:
int main(int argc, const char * argv[])
{

    *(&p)=1;
    *(&p+1)=2;
    *(&p+2)=3;
    printf("%d\n",*(&p));
   printf("%d\n",*(&p+1));
   printf("%d\n",*(&p+2));
}
而 int* p[]这个就不多说了就是一个装int类型的指针的数组

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
比如:
int *p[5 ];是定义了一个数组,数组名是p,这个数组是由5个指向int型数据的指针组成的。
int (*p)[5];是定义了一个指针p,它指向的是一个5个int型大小的数组。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马