Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để in mảng con trỏ tới chuỗi và địa chỉ của chúng

Trước tiên, chúng ta hãy hiểu mảng con trỏ trong ngôn ngữ lập trình C.

Mảng con trỏ:(tới chuỗi)

  • Nó là một mảng có các phần tử là ptrs cho phần bổ sung cơ sở của chuỗi.

  • Nó được khai báo và khởi tạo như sau -

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

Ở đây, [0] là một con trỏ đến phần bổ sung cơ sở của chuỗi "một".

a [1] là một con trỏ đến phần bổ sung cơ sở của chuỗi "hai".

a [2] là một con trỏ đến phần bổ sung cơ sở của chuỗi "ba".

Chương trình C để in mảng con trỏ tới chuỗi và địa chỉ của chúng

Ưu điểm

Những ưu điểm của mảng con trỏ được giải thích bên dưới -

  • Bỏ liên kết mảng ký tự hai chiều, trong mảng chuỗi và trong mảng con trỏ tới chuỗi, không có kích thước bộ nhớ cố định để lưu trữ.

  • Các chuỗi chỉ chiếm bao nhiêu byte theo yêu cầu do đó không lãng phí dung lượng.

Ví dụ

Chương trình C trình bày khái niệm in mảng con trỏ thành chuỗi và cả địa chỉ được đưa ra bên dưới -

#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 : \n");
   for(i=0;i<5;i++){
      printf("%s\n",a[i]);
   }
   //Printing addresses within each string location using for loop//
   printf("The address locations of every string values are : \n");
   for(i=0;i<5;i++){
      printf("%d\n",a[i]);
   }
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

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

Ví dụ 2

Hãy xem xét một ví dụ khác.

Dưới đây là một chương trình C trình bày khái niệm về mảng con trỏ đến chuỗi -

#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++;
   }
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

The string is: TutorialPoint