c语言 如何写一个指向指针数组的指针?

C代码如下:inta,b,c;a=1;b=2;c=3;int*aptr,*bptr,*cptr;aptr=&a;bptr=&b;cptr=&c;int*array1[3]... C代码如下:
int a,b,c;
a = 1;
b = 2;
c = 3;
int * aptr, *bptr, *cptr;
aptr = &a;
bptr = &b;
cptr = &c;
int * array1[3] = {aptr, bptr, cptr}; /* array1为一个拥有三个指向int型指针的指针数组*/

现在我要创造一个array2,它是指向array1的一个指针。
应该怎么写?
展开
 我来答
kiss夜de忧伤
2014-08-17
知道答主
回答量:34
采纳率:0%
帮助的人:14.2万
展开全部
比如 *p[i], *p[0]就是其中一个指针,依次类推。
int *p[i],*q;
q=p[0];这里q就指向了指针数组p[0]的首地址;
也可以这样写:p=q;
p++;q就会指向下一个元素的地址了;
q++=p++;
那么q[1]就指向了p[1];
个人理解,只可参考,采纳与否,看楼主了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xzenith
2014-08-17 · 超过23用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:34.6万
展开全部
这个指向array1的指针最好不好命名为array2.
指向数组的指针其实就是指向数组首地址的指针, 复杂的指针只会把问题弄复杂
int **array_ptr = &a_ptr;
然后访问array1就可以 取*(array_ptr+i) 这个地址了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjfaok
2014-08-17 · TA获得超过6806个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1616万
展开全部
typedef int * typeof_array1[3];
typeof_array1 * array2 = &array1;
更多追问追答
追问
谢谢
如果不用typedef的话,应该怎么表达?
追答
int * (*array2)[3] = &array1;

我个人以为不用 typedef 就是害人害己——会连自己也认不出来这是什么类型

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式