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 wont get output, some compilers show error message at output

更新時間: 2023-09-13

32K+ 瀏覽量

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告