-3
我被告知,将星号放在指针的位置并不重要。指针语法的区别
int* p;
int *p;
是一样的。但一旦变得复杂,我会感到困惑。例如,您可以这样做:
int (*(p));
int** (*(p));
int*** (*(p)) {};
这些声明之间是否有区别?
我被告知,将星号放在指针的位置并不重要。指针语法的区别
int* p;
int *p;
是一样的。但一旦变得复杂,我会感到困惑。例如,您可以这样做:
int (*(p));
int** (*(p));
int*** (*(p)) {};
这些声明之间是否有区别?
int (*(p));
是指向int
的指针。
int** (*(p));
是指向指向int
的指针的指针。
int*** (*(p)) {};
是C.无效的语法
“不,你把星号的指针关系”的意思,“这不要紧,你是否没有空格之前,之后,这两者或不所有”。这并不意味着你可以随意放置'*'的地方。 –
你为什么要把所有'('和')'放在这样的代码中?你把这个和函数指针混合起来了吗? – 4386427
@ 4386427当然,在第二个片段的第一个和第二个声明中没有用括号,但在类似的类型周围添加括号是合法的。虽然第三是语法错误。 –