【发布时间】:2014-07-28 16:51:03
【问题描述】:
我只是想确定 C 语言中 *a[5] 和 (*a)[5] 的区别。
我知道 *a[5] 表示数组 a 可以有五个元素,每个元素都是指针。 所以,
char *p = "ptr1";
char *p2 = "ptr2";
char *a[5] = { p , p2 };
确实有道理。
但是当我将*a[5] 更改为(*a)[5] 时,它不起作用。
char (*a)[5] = { p , p2};
(*a)[5] 到底是什么意思?
另外,
*a[5]和a[5][]、(*a)[5]和a[][5]之间有什么区别吗?
【问题讨论】: