解釋 C 語言中指標到指標和空指標的概念?


雙指標或指向指標的指標是一個變數,它儲存另一個指標的地址。

以下是指向指標的指標的宣告:

datatype ** pointer_name;

例如,int **p; p 是一個指向指標的指標

初始化 - ‘&’ 用於初始化。

例如,

int a = 10;
int *p;
int **q;
p = &a;

訪問 - 間接運算子 (*) 用於訪問。

示例

以下是指向指標的指標的 C 程式:

 線上演示

#include<stdio.h>
main ( ){
   int A = 10;
   int *p;
   int **q;
   p = &A;
   q = &p;
   printf("A =%d",A);
   printf("A value of pointer = %d", *p);
   printf("A value of double pointer = %d", **q);
}

輸出

當執行上述程式時,它會產生以下結果:

A=10
A value of pointer = 10
A value of double pointer = 10

空指標

它是一種可以儲存任何資料型別變數的地址(或)可以指向任何資料型別變數的指標。

以下是空指標的宣告:

void *pointername;

例如,void *vp;

訪問 - 型別轉換運算子用於透過其指標訪問變數的值。

語法如下:

* ( (type cast) void pointer)

例如,

int i=10;
void *vp;
vp = &i;
printf ("%d", * ((int*) vp));
type cast

示例

以下是空指標的 C 程式:

#include<stdio.h>
main ( ){
   int i =10;
   float f = 5.34;
   void *vp;
   clrscr ( );
   vp = &i;
   printf ("i = %d", * ((int*)vp));
   vp = &f;
   printf ( "f = %f", * ((float*) vp));
   getch ( );
}

輸出

當執行上述程式時,它會產生以下結果:

i = 10
f = 5.34

更新於: 2021年3月8日

1K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告