如果你我忽然問你對象前的星號應該靠左還是靠右,你能回答嗎?
UIView* view;
UIView *view;
這兩種寫法編譯都能通過。但是哪個是規范的寫法呢?
要弄明白這個就得簡單提提指針了。
*是運算符,可以訪問保存在某個地址中的數據
舉例:
int *addressOfI
addressOfI是一塊內存地址的值,*addressOfI 表示取出addressOfI是這塊地址中的數據。
前面的類型int告訴了編譯器這個地址內存儲的數據是什么類型,這里是int。
連起來看這就表示了一個int類型的變量。
在c語言允許在一行代碼中聲明多個變量
float* b,c
如果這么寫的話,c的類型會是float,不是float *。所以*號寫在前面有可能讓人造成誤解。
所以正確答案是寫在右邊。
UIView *view;
那么為什么我們沒分清在寫了這么久也沒出什么問題呢?
因為。。。。。。