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


指標和陣列

編譯器為陣列的所有元素分配連續的記憶體位置。

基地址是陣列中第一個元素的位置。

例如,int a [5] = {10, 20,30,40,50};

這五個元素儲存如下:

如果'p'被宣告為整型指標,則陣列'a'可以透過以下賦值進行指向:

p=a
or
p=&a[0];

每個'a'的值都可以透過使用p++從一個元素移動到另一個元素來訪問。當指標遞增時,其值會增加它指向的資料型別的尺寸。此長度稱為“比例因子”。

指標p和變數a之間的關係如下所示:

P   = &a[0] = 1000
P+1 = &a[1] = 1004
P+2 = &a[2] = 1008
P+3 = &a[3] = 1012
P+4 = &a[4] = 1016

可以使用元素的索引和資料型別的比例因子來計算元素的地址。

示例

a[3]的地址 = 基地址 + (3 * int的比例因子)

            = 1000 + (3 * 4)

            = 1000 + 12

            = 1012

*(p+3) gives the value of a[3]
a[i] = *(p+i)

程式

#include<stdio.h>
main (){
   int a[5];
   int *p,i;
   clrscr ();
   printf (”Enter 5 lements”);
   for (i=0; i<5; i++)
      scanf (“%d”, &a[i]);
   p = &a[0];
   printf (“Elements of the array are”);
   for (i=0; i<5; i++)
      printf(“%d”, *(p+i));
   getch();
}

輸出

Enter 5 elements : 10 20 30 40 50
Elements of the array are : 10 20 30 40 50

更新於: 2021年3月9日

3K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告