在C中,在定义指针的时候同时赋值,比如int *p=a;(a是数组名)是吧数组的首地址赋给指针p,那么int *p[3]=

2025-04-05 06:30:04
推荐回答(4个)
回答1:

a是数组名也就是数组的首地址!
*p=a;就是把a数组的数组首地址复制给指针p
*p[3]运算就相当于a[3]
指针变量都是整形的变量,你给a数组的第4个元素赋值"abc",那么你的数组a应该是char型的吧??

回答2:

int *p[3] = "abc";
符合语法吗,类型不对哦?

这样才行的:
char *p[3] = {"aaa","bbb","ccc"};

回答3:

*p[3]是指针数组,p可以变化
a[3]就是一个一维数组,a不能变化。首地址是a或者是&a[0]

回答4:

int *p[3]表示定义一个指向整形变量的数组指针,int *p[3]="abc"是错误的。