int *a[10]和int(*)a[10]分别是什么意思?
1个回答
展开全部
int *a[10]; 定义了一个指针数组,即10个int * 类型的指针
int (*a)[10]; 定义了一个指向行的指针变量,注意是”一个”指针变量,而上面的指针数组是”10个”指针变量。指向行的指针变量可以用来指向二位数组int x[N][10],a指向x即:
a <==> x 或者 x[0] 或者 &x[0][0]
a+1 <==> x[1] 或者 &x[1][0]
a+2 <==> x[2] 或者 &x[2][0]
...
另外:
*(a+i)+j <==> x[i][j]
int (*)a[10]没有这种用法
int (*a)[10]; 定义了一个指向行的指针变量,注意是”一个”指针变量,而上面的指针数组是”10个”指针变量。指向行的指针变量可以用来指向二位数组int x[N][10],a指向x即:
a <==> x 或者 x[0] 或者 &x[0][0]
a+1 <==> x[1] 或者 &x[1][0]
a+2 <==> x[2] 或者 &x[2][0]
...
另外:
*(a+i)+j <==> x[i][j]
int (*)a[10]没有这种用法
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询