Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

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

Trước hết, hiểu về mảng con trỏ (arrays of pointers) trong C.

Mảng con trỏ: (trỏ đến chuỗi)

  • Là mảng các phần tử là con trỏ trỏ đến địa chỉ cơ sở của chuỗi.
  • Khai báo và khởi tạo như sau:
char *a[] = {"one", "two", "three"};

Ở đây, a[0] là con trỏ trỏ đến địa chỉ cơ sở của chuỗi "one".
a[1] trỏ đến "two".
a[2] trỏ đến "three".

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

Ưu điểm

  • Khác với mảng 2 chiều ký tự, mảng con trỏ chuỗi không có kích thước bộ nhớ cố định cho lưu trữ.
  • Các chuỗi chỉ chiếm bấy nhiêu byte cần thiết nên không lãng phí không gian.

Ví dụ 1

Chương trình C in mảng con trỏ chuỗi và địa chỉ:

#include  #include  void main(){     int i;     char *a[5] = {"One","Two","Three","Four","Five"};     printf("The values in every string location are : \n");     for(i=0;i<5;i++){         printf("%s\n", a[i]);     }     printf("The address locations of every string values are : \n");     for(i=0;i<5;i++){         printf("%p\n", (void*)a[i]);     } }

Kết quả

The values in every string location are: One Two Three Four Five The address locations of every string values are: 0x403000 0x403004 0x403008 0x40300e 0x403013

Ví dụ 2

Ví dụ khác về mảng con trỏ chuỗi:

#include  #include  void main(){     char string[10] = "TutorialPoint";     char *pointer = string;     printf("The string is : ");     while(*pointer != '\0'){         printf("%c", *pointer);         pointer++;     } }

Kết quả

The string is: TutorialPoint