-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當然,在第二個片段的第一個和第二個聲明中沒有用括號,但在類似的類型周圍添加括號是合法的。雖然第三是語法錯誤。 –