int point = 0;
int *point = &point; // 編譯錯誤:point 重複定義,且型別衝突
error C2040: 'point' : 'int *' differs in levels of indirection from 'int'
同一作用域內**不能**用相同名稱宣告兩個不同型別的變數。`point` 已是 `int`,無法再宣告 `int *point`。
int value = 0;
int *ptr = &value; // 正確
int point = 0;
int *ptr = &point;
// 或用聯合體 (不推薦)
union { int val; int *ptr; } u;
u.val = 0;
u.ptr = &u.val; // 同一記憶體,型別雙重解讀
C++ 同一作用域變數名稱唯一。指標變數請用語義化名稱 (如 `ptr`、`pValue`、`address`),避免與被指向變數同名。