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

Tạo con trỏ cho chuỗi (Pointer to String) trong C


Mảng con trỏ trỏ đến chuỗi (Array of Pointers to Strings)

Mảng các con trỏ, mỗi phần tử trỏ đến địa chỉ bắt đầu của một chuỗi.

char *a[3] = {"one", "two", "three"};
// a[0] trỏ đến "one", a[1] trỏ "two", a[2] trỏ "three"

Ưu điểm so với mảng 2D ký tự

  • Không kích thước cố định cho mỗi chuỗi → tiết kiệm bộ nhớ.
  • Chuỗi chỉ chiếm bytes cần thiết, không lãng phí.

Ví dụ 1: Khai báo tĩnh

#include <stdio.h>
int main() {
    char *a[5] = {"one", "two", "three", "four", "five"};
    for (int i = 0; i < 5; i++)
        printf("%s ", a[i]);
    return 0;
}

Kết quả

one two three four five

Ví dụ 2: Mảng con trỏ tên sinh viên

#include <stdio.h>
#include <string.h>
int main() {
    char *students[] = {"bhanu", "ramu", "hari", "pinky"};
    for (int i = 0; i < 4; i++)
        printf("%s\n", students[i]);
    return 0;
}

Kết quả

bhanu
ramu
hari
pinky