C++:int*x [5]和int(*x)[5]之间有什么区别?

qua*_*231 2 c++ pointers

他们俩都是同一个意思吗?它们在C和C++之间的含义是否不同?

Jon*_*ely 6

您可以使用http://cdecl.org/自己回答这类问题(粘贴在类型中,它会告诉您它的英文含义).

他们俩都是同一个意思吗?

没有.

它们在C和C++之间的含义是否不同?

没有.

int* a[5] 是一个由五个指针组成的数组.

int (*a)[5] 是一个指向五个整数数组的指针.


Yak*_*ont 5

使用左右规则。

从变量声明-开始x

现在,请正确阅读,直到遇到顶层,,a ;或不平衡的收盘价)或声明的末尾为止。

向左看,直到找到匹配的内容(。从头开始重复。

x) // x
(*x) // is a pointer to
(*x)[5]; // an array of 5 elements
int (*x)[5]; // of integers

x[5]; // x is an array of 5 elements
*x[5]; // of pointers to
int *x[5]; // integers
Run Code Online (Sandbox Code Playgroud)

简单!