windows 下任何指標都是乙個 32 位位址,也就是 4 個位元組。所以不管什麼型別的指標都可以強制轉換的。指標型別的意義在於告訴編譯器要同時處理該位址以及以後的幾個位元組。
例如乙個指標 p 的值是 0x0041ff10 (瞎編的)
如果它是 int * 型別的
那麼用 *p 的時候,就會把 0x0041ff10 開始的 sizeof(int) 個位元組一起讀出來,按 int 型別的儲存方法解析出它的值
如果它是 double * 型別的
那麼用 *p 的時候,就會把 0x0041ff10 開始的 sizeof(double) 個位元組一起讀出來,按 double 型別的儲存方法解析出它的值
空指標和void 型別指標
今天,有個師弟問我 師兄,空指標和void 型別指標是怎樣的?當時,我大概的說法是 1 空指標是沒有指向的指標,將暫時用不到的指標定義成空指標,能防止誤用。2 而void 型別的指標是有指向的指標,但它的指向的資料的型別暫時不確定,所以先弄成void 型別,後期一般要強制轉換的。回來後,發現這種說法...
野指標,空指標和無型別指標
一.野指標 所謂的野指標指的是乙個指標變數指向了不可使用的記憶體空間。產生野指標三個原因 1 指標變數建立時候沒有被初始化 任何指標變數在建立的時候,不會自動成為null指標,它的預設值是隨機的,因此該指標就會成為乙個野指標,可能指向一塊不可使用的記憶體空間。例如char p 這樣建立乙個指標p,指...
空指標 野指標和無型別指標
野指標 指向 不可預知。這個 野指標 指向的記憶體空間,可能是某個重要的資料或其它程式,甚至是系統的重要記憶體位置.再次訪問時造成的危害是不可預知的 容易被病毒或黑客攻擊.在這個 野指標 指向的記憶體中放點 東西 你使用這個 野指標 時,自然中招.避免方法 1.建立乙個指標時,位址指向明確位址或者n...