C語言中不同型別的指標有哪些?
指標是一個儲存另一個變數地址的變數。
指標的語法如下:
pointer = &variable;
指標型別
有八種不同的指標型別,如下所示:
空指標
空指標
野指標
懸空指標
複雜指標
近指標
遠指標
巨大指標
空指標
透過在指標宣告時賦值為 null 來建立一個空指標。
當您不為指標分配任何地址時,此方法很有用。空指標始終包含值 0。
示例
以下是空指標的 C 程式:
#include <stdio.h> int main(){ int *ptr = NULL; //null pointer printf("The value inside variable ptr is:
%d",ptr); return 0; }
輸出
執行上述程式時,會產生以下結果:
The value inside variable ptr is: 0
空指標
它是一個沒有關聯資料型別的指標。空指標可以儲存任何型別的地址,並且可以轉換為任何型別。
它也稱為通用指標,沒有任何標準資料型別。
它使用關鍵字 void 建立。
示例
以下是空指標的 C 程式:
#include <stdio.h> int main(){ void *p = NULL; //void pointer printf("The size of pointer is:%d
",sizeof(p)); //size of p depends on compiler return 0; }
輸出
執行上述程式時,會產生以下結果:
The size of pointer is:8
野指標
野指標也稱為未初始化指標。因為它們指向某個任意記憶體位置,並且可能導致程式崩潰或行為異常。
這種型別的 C 指標效率不高。因為它們可能指向某個未知的記憶體位置,這可能會在我們的程式中造成問題。這可能導致程式崩潰。
建議在使用野指標時要謹慎。
示例
以下是野指標的 C 程式:
#include <stdio.h> int main(){ int *p; //wild pointer printf("
%d",*p); return 0; } Process returned -1073741819 (0xC0000005) execution time : 1.206 s Press any key to continue i.e. you won’t get output, some compilers show error message at output
廣告