解釋 C 程式語言中的指標陣列和指標的指標的概念


指標陣列

就像任何其他資料型別一樣,我們也可以宣告一個指標陣列。

宣告

datatype *pointername [size];

例如,int *p[5]; //它表示一個可以容納 5 個整數元素地址的指標陣列

初始化

‘&’用於初始化

例如,

int a[3] = {10,20,30};
int *p[3], i;
for (i=0; i<3; i++) (or) for (i=0; i<3,i++)
p[i] = &a[i];
p[i] = a+i;

訪問

使用間接運算子 (*) 進行訪問。

例如,

for (i=0, i<3; i++)
printf ("%d" *p[i]);

示例

#include<stdio.h>
main (){
   int a[3] = {10,20,30};
   int *p[3],i;
   for (i=0; i<3; i++)
      p[i] = &a[i]; //initializing base address of array
   printf (elements of the array are”)
   for (i=0; i<3; i++)
      printf ("%d \t", *p[i]); //printing array of pointers
   getch();
}

輸出

elements at the array are : 10 20 30

指標的指標

指標的指標是一個儲存另一個指標地址的變數。

宣告

datatype ** pointer_name;

例如,int **p; //p 是指標的指標

初始化

‘&’用於初始化。

例如 −

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

訪問

使用間接運算子 (*) 進行訪問。

示例

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

輸出

a=10
a value through pointer = 10
a value through pointer to pointer = 10

更新於: 09-Mar-2021

1K+ 瀏覽

開啟您的 職業生涯

透過完成該課程獲得認證

開始學習
廣告
© . All rights reserved.