永发信息网

c语言中(*a)[n]与*a[n]有什么区别

答案:4  悬赏:20  手机版
解决时间 2021-11-17 10:37
  • 提问者网友:雾里闻花香
  • 2021-11-16 10:51
c语言中(*a)[n]与*a[n]有什么区别
最佳答案
  • 五星知识达人网友:山君与见山
  • 2021-11-16 11:23
int (*a)[n]是指针数组(也就是说其本质上是数组,但里面存放的都是指针)
int *a[n]是数组指针(本质上是一个指针,而且是一个指向数组的指针)追问能够举一个简单例子么,谢谢追答int b[4][4]={0};
int (*a)[4]=b;

int b[4][4]={0};
int *a[4];
a[0]=b[0];

不好意思,上面写反了。改正一下:
int *a[n]是指针数组(也就是说其本质上是数组,但里面存放的都是指针)
int (*a)[n]是数组指针(本质上是一个指针,而且是一个指向数组的指针)
全部回答
  • 1楼网友:十年萤火照君眠
  • 2021-11-16 15:31
(*a)[n]是指针数组
*a[n]是数组指针
  • 2楼网友:山君与见山
  • 2021-11-16 13:56
#define n 10
int *a[n],b[4][10]; //a是行指针,可以指向一行有10个元素的行,其类型与二级数组名b一样。
int *a[n]; //a是指针数组,有十个元素,每个元素都是整型指针。
  • 3楼网友:纵马山川剑自提
  • 2021-11-16 13:03
int (*a)[n] //a是行指针
int *a[n]; //a是数组指针,每个元素都是整型指针。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯