我希望确保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]
之间有什么区别吗?