C語言中的指針數組是一個存儲指針的數組,每個元素都是一個指針,指向一個特定類型的變量或數據結構。指針數組在C語言中有很多用途,以下是一些常見的應用場景:
int *arr = (int *)malloc(10 * sizeof(int)); // 分配一個包含10個整數的數組
char *strings[] = {"Hello", "World", "C", "Language"}; // 存儲字符串的指針數組
void printArray(int *arr, int size) {
for (int i = 0; i < size; i++) {
printf("%d ", *(arr + i));
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
printArray(arr, 5);
return 0;
}
typedef struct Node {
int data;
struct Node *next;
} Node;
Node *nodes[] = {
(Node *)malloc(sizeof(Node)),
(Node *)malloc(sizeof(Node)),
(Node *)malloc(sizeof(Node))
};
總之,C語言中的指針數組非常靈活,可以用于實現各種復雜的數據結構和算法。然而,指針數組也可能導致內存泄漏和懸掛指針等問題,因此在使用時需要小心。