新微赢技术网

标题: 如何区分这几个指针呢? [打印本页]

作者: 君临贵妃    时间: 2009-11-3 04:15
标题: 如何区分这几个指针呢?
请问大家这三个如何理解呢?
他们的功能有什么不同呢?

int*p[4];
int(*p)[4];
int*(*p)[4];
作者: "My!ove-、    时间: 2009-11-3 04:15
指针数组
指针数组
2级指针数组
作者: 孤独的囚鸟    时间: 2009-11-3 04:15
1.指针数组
2.指向一个有4个元素的二维数组的行指针
3.指向一个有4个元素的二维数组的行指针.且这个二维数组的每个元素全部为int型的指针

简单点


2.

int a[4][4];
int (*p)[4]=a;
3.
int *a[4][4];
int *(*p)[4]=a;
PS.外带个超值赠送. int(**p)[4] 为一个指向一个有4个元素的二维数组的行指针的指针
作者: ジ↘夢衹戀    时间: 2009-11-3 04:15
song4犯的错误可不小哦...
作者: .嵿峜繌嗲﹖    时间: 2009-11-3 04:15

忘记了哦
int *p[4]!=int(*p)[4]????
应该看书了
作者: 海的无奈    时间: 2009-11-3 04:15

想起来了
呵呵
作者: 江边人家    时间: 2009-11-3 04:15
int *p[4];
有 4 個 *p (p[0]....p[4])

int (*p)[4]:
p 是一個指針 (*), 指針指向 4 個元素的數組, 每個元素爲 int

int *(*p)[4]:
p 是一個指針 (第二個 *), 指針指向 4 個元素的數組, 每個元素是一個指針 (第一個 *), 指針指向 int 類型


int (**p)[4]:
p 是一個指針 (第二個 *), 指針指向另一個指針 (第一個 *), 這另一個指針指向 4 個元素的數組, 數組每個元素爲 int
作者: 我是医师    时间: 2009-11-3 04:15
指針指向 4 個元素的數組


很显然这是错误的..(*p)[4]指向的必须是一个二维数组

简单的例子..看看

int a[4];
int (*p)[4]=a; 可以编译通过吗?

你下面所说的全部同上.
作者: 幸福乐园    时间: 2009-11-3 04:15
yeshirow说:
int (*p)[4]:
p 是一個指針 (*), 指針指向 4 個元素的數組, 每個元素爲 int

SunShining说:
很显然这是错误的..(*p)[4]指向的必须是一个二维数组
简单的例子..看看
int a[4];
int (*p)[4]=a; 可以编译通过吗?

你们谁是正确的呀!我是出学者!
作者: 清风    时间: 2009-11-3 04:15
我想2个人肯定都是理解的,只不过SunShining表达的更清楚一点而已

只要在yeshirow几基础上在增加一点,那就是p是一个行指针就行了




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2