Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เพื่อพิมพ์อาร์เรย์ของพอยน์เตอร์ไปยังสตริงและที่อยู่


อันดับแรก ให้เราเข้าใจว่าอาร์เรย์ของพอยน์เตอร์ในภาษาการเขียนโปรแกรม C คืออะไร

อาร์เรย์ของพอยน์เตอร์:(เป็นสตริง)

  • เป็นอาร์เรย์ที่มีองค์ประกอบเป็น ptrs ในการเพิ่มฐานของสตริง

  • มีการประกาศและเริ่มต้นดังนี้ -

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

ที่นี่ a[0] คือตัวชี้ไปยังการเพิ่มฐานของสตริง "หนึ่ง"

a[1] เป็นตัวชี้ไปยังการเพิ่มฐานของสตริง "สอง"

a[2] เป็นตัวชี้ไปยังการเพิ่มฐานของสตริง "สาม"

โปรแกรม C เพื่อพิมพ์อาร์เรย์ของพอยน์เตอร์ไปยังสตริงและที่อยู่

ข้อดี

ข้อดีของอาร์เรย์ของพอยน์เตอร์อธิบายไว้ด้านล่าง -

  • ยกเลิกการเชื่อมโยงอาร์เรย์สองมิติของอักขระ ในอาร์เรย์ของสตริง และในอาร์เรย์ของพอยน์เตอร์กับสตริง ไม่มีขนาดหน่วยความจำคงที่สำหรับการจัดเก็บ

  • สตริงใช้ไบต์ได้มากเท่าที่ต้องการเท่านั้น จึงไม่เปลืองเนื้อที่

ตัวอย่าง

โปรแกรม 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 : \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]);
   }
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

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