C語言程式:列印指向字串的指標陣列及其地址


首先,讓我們瞭解一下C語言中的指標陣列。

指標陣列:(指向字串)

  • 它是一個數組,其元素是指向字串基地址的指標。

  • 宣告和初始化如下:

char *a[ ] = {"one", "two", "three"};

這裡,a[0]是指向字串“one”基地址的指標。

         a[1]是指向字串“two”基地址的指標。

         a[2]是指向字串“three”基地址的指標。

優點

下面解釋了指標陣列的優點:

  • 與二維字元陣列不同,在字串陣列和指向字串的指標陣列中,儲存沒有固定的記憶體大小。

  • 字串只佔用所需位元組數,因此不會浪費空間。

示例

下面給出了演示列印指向字串的指標陣列及其地址概念的C語言程式:

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring string and pointers, for loop variable//
   int i;
   char *a[5]={"One","Two","Three","Four","Five"};
   //Printing values within each string location using for loop//
   printf("The values in every string location are : 
");    for(i=0;i<5;i++){       printf("%s
",a[i]);    }    //Printing addresses within each string location using for loop//    printf("The address locations of every string values are :
");    for(i=0;i<5;i++){       printf("%d
",a[i]);    } }

輸出

執行上述程式後,將產生以下結果:

The values in every string location are:
One
Two
Three
Four
Five
The address locations of every string values are:
4210688
4210692
4210696
4210702
4210707

示例2

讓我們考慮另一個示例。

下面是一個演示指向字串的指標陣列概念的C語言程式:

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring string and pointers//
   char string[10]="TutorialPoint";
   char *pointer = string;
   //Printing the string using pointer//
   printf("The string is : ");
   while(*pointer!='\0'){
      printf("%s",*pointer);
      pointer++;
   }
}

輸出

執行上述程式後,將產生以下結果:

The string is: TutorialPoint

更新於:2021年3月19日

7K+ 瀏覽量

開啟您的職業生涯

完成課程獲得認證

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