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的一个指针。
应该怎么写? 展开
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的一个指针。
应该怎么写? 展开
展开全部
比如 *p[i], *p[0]就是其中一个指针,依次类推。
int *p[i],*q;
q=p[0];这里q就指向了指针数组p[0]的首地址;
也可以这样写:p=q;
p++;q就会指向下一个元素的地址了;
q++=p++;
那么q[1]就指向了p[1];
个人理解,只可参考,采纳与否,看楼主了。
int *p[i],*q;
q=p[0];这里q就指向了指针数组p[0]的首地址;
也可以这样写:p=q;
p++;q就会指向下一个元素的地址了;
q++=p++;
那么q[1]就指向了p[1];
个人理解,只可参考,采纳与否,看楼主了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个指向array1的指针最好不好命名为array2.
指向数组的指针其实就是指向数组首地址的指针, 复杂的指针只会把问题弄复杂
int **array_ptr = &a_ptr;
然后访问array1就可以 取*(array_ptr+i) 这个地址了
指向数组的指针其实就是指向数组首地址的指针, 复杂的指针只会把问题弄复杂
int **array_ptr = &a_ptr;
然后访问array1就可以 取*(array_ptr+i) 这个地址了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
typedef int * typeof_array1[3];
typeof_array1 * array2 = &array1;
更多追问追答
追问
谢谢
如果不用typedef的话,应该怎么表达?
追答
int * (*array2)[3] = &array1;
我个人以为不用 typedef 就是害人害己——会连自己也认不出来这是什么类型
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询