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