1
在下面的代碼段混淆用C的typedef
int* p1, p2;
p1
是整數指針變量和p2
是整數varible.it的確定。
但是,在下面的代碼片段
typedef int* ptr;
ptr p1, p2;
爲什麼都p1
和p2
整數指針變量?
在下面的代碼段混淆用C的typedef
int* p1, p2;
p1
是整數指針變量和p2
是整數varible.it的確定。
但是,在下面的代碼片段
typedef int* ptr;
ptr p1, p2;
爲什麼都p1
和p2
整數指針變量?
是的。爲什麼?因爲無論是類型ptr
這是一個別名int *
而且從你的問題的第一個例子: int *p1, p2;
是
int *p1;
int p2;
等效的,這就是爲什麼P1是指向int和p2的指針只是int
當明確寫入時,指針符號僅適用於緊跟在它後面的變量標識符。當「打包」到一個typedef中時,你可以把它看作是對每個用這種類型聲明的變量「擴展」的 – meowgoesthedog