靜態(tài)指針和動態(tài)指針 如何使用指針來存取數據?
如何使用指針來存取數據?指針類型是動態(tài)的,可以按指針地址作為任何類型。程序,動態(tài)訪問指針數據類型,應該說沒有實際意義。在確認指針安全的情況下,可以通過重載模板函數動態(tài)獲取指針類型。其實就是創(chuàng)建幾個同名
如何使用指針來存取數據?
指針類型是動態(tài)的,可以按指針地址作為任何類型。
程序,動態(tài)訪問指針數據類型,應該說沒有實際意義。在確認指針安全的情況下,可以通過重載模板函數動態(tài)獲取指針類型。
其實就是創(chuàng)建幾個同名不同參數類型的函數,返回指定的值:
int datatype(int){return 4}
int datatype(char){return 1}
int datatype(double){return 3}
調用時,
int dtype=datatype(*P)]。
c語言再申明了結構體變量指針后為什么還要給指針動態(tài)分配存儲單元?
a int b}*a//前面的代碼只定義了一個未初始化的結構指針。它可能指向空地址或其他未知地址。此時,直接操作指針是操作指針指向的內存。此內存只能在系統(tǒng)區(qū)域中,也可以在常量區(qū)域中。無論如何,這是內存,這個程序不應該訪問,所以內存錯誤發(fā)生。
指針只能在為指針分配空間后用于分配空間。一種是定義這樣一個結構變量,然后將指針指向它的地址。另一種是手動malloc一個區(qū)域來分配空間,然后執(zhí)行指針操作,這樣就不會出現這樣的內存錯誤