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

Làm thế nào để tạo một con trỏ cho chuỗi bằng ngôn ngữ C?

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

Mảng con trỏ là mảng có các phần tử là con trỏ đến địa chỉ cơ sở của chuỗi.

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

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"

Ưu điểm

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

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

Ví dụ 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 ();
}

Đầu ra

The strings are: one two three four five

Ví dụ 2

Hãy xem xét một ví dụ khác về mảng con trỏ cho chuỗi -

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

Đầu ra

The names of students are:
bhanu
ramu
hari
pinky