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

จะสร้างพอยน์เตอร์สำหรับสตริงโดยใช้ภาษา C ได้อย่างไร?


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

Array of pointers คืออาร์เรย์ที่มีองค์ประกอบเป็นตัวชี้ไปยังที่อยู่พื้นฐานของสตริง

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

char *a[3 ] = {"one", "two", "three"};
//Here, a[0] is a ptr to the base add of the string "one"
//a[1] is a ptr to the base add of the string "two"
//a[2] is a ptr to the base add of the string "three"

ข้อดี

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

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

ตัวอย่างที่ 1

#include<stdio.h>
main (){
   char *a[5] = {“one”, “two”, “three”, “four”, “five”};//declaring array of pointers to
   string at compile time
   int i;
   printf ( “The strings are:”)
   for (i=0; i<5; i++)
      printf (“%s”, a[i]); //printing array of strings
   getch ();
}

ผลลัพธ์

The strings are: one two three four five

ตัวอย่างที่ 2

พิจารณาตัวอย่างอื่นเกี่ยวกับอาร์เรย์ของพอยน์เตอร์สำหรับสตริง -

#include <stdio.h>
#include <String.h>
int main(){
   //initializing the pointer string array
   char *students[]={"bhanu","ramu","hari","pinky",};
   int i,j,a;
   printf("The names of students are:\n");
   for(i=0 ;i<4 ;i++ )
      printf("%s\n",students[i]);
   return 0;
}

ผลลัพธ์

The names of students are:
bhanu
ramu
hari
pinky