在定義變數時,變數的型別決定占用的記憶體大小;
直接定義無型別的變數,編譯器是不能他通過的。如下。
void a;
編譯器報錯
void指標我們稱之為通用指標,也就是可以指向任意型別的資料。也就是說,任何型別的指標都可以賦值給void指標。
測試一下:
#include int main()
執行結果:
pv: 000000df7cdff654,pi: 000000df7cdff654,&num: 000000df7cdff654可以看出,任何型別的指標轉換為void型別的指標,是行的;pv: 00007ff7e4e19ca8,ps: 00007ff7e4e19ca8
請按任意鍵繼續. . .
但是,不能直接對void指標就行解引用。使用之前需要轉換指標的型別。
如下:
#include int main()
執行結果:
pv: 000000eed8dcf904,pi: 000000eed8dcf904,&num: 000000eed8dcf904null就是空指標,表示指向乙個不被使用的位址。num: 1024,*pi: 1024,*(int *)pv: 1024
pv: 00007ff7095f9ca8,ps: 00007ff7095f9ca8
(char*)pv: iloveyou,ps: iloveyou
請按任意鍵繼續. . .
#define null ((void *)0)
問答:
0.如何有效地避免出現懸空指標?
答:懸空指標就是:指向了不確定的記憶體區域的指標,對這種指標就行操作會出現不可預知的錯誤,系統不報錯,但是結果不是預期的。1. 對null進行解引用,結果是什麼?所以,當我們不知道指向**的時候,就可以指向null,可有避免麻煩;
答:無論什麼系統,對null進行解引用,都是非法的,不通過;★finished by songpl,2018.12.29
C語言補漏 指標
通過變數名訪問變數,稱為直接訪問 通過指標方式訪問,稱為間接訪問 變數名是為了方便程式設計師使用而定義的,記憶體存放資料的真相 指標就是位址的意思 指標變數是用來的存放位址的變數。普通的變數中存放的是資料,指標變數中存放的是位址 假設定義兩個指標變數pa和pf,指標變數在記憶體中,佔4個位元組。型別...
《C和指標》 C語言補漏 指標篇
沒錯,對於指標,我確實只能摘取書上的少許內容,因為我在資料結構的時候已經弄明白了很多,所以這一部分並沒有仔細的看,還有後面的用 c語言實現抽象資料型別,資料結構裡也有講,所以我建議還是先看 c和指標 再去學資料結構。1.在宣告指標變數時,可以為它指定初始值,如 char message hello ...
C語言中的void 和void 指標型別
c語言中的void 和void 指標型別 c語言,void,void指標 許多初學者對c中的void 和void 的指標型別不是很了解。因此常常在使用上出現一些錯誤,本文將告訴大家關於void 和void 指標型別的使用方法及技巧。首先,我們來說說void 的含義,void的字面意思是 無型別 vo...