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语言中的指针数组非常灵活,可以用于实现各种复杂的数据结构和算法。然而,指针数组也可能导致内存泄漏和悬挂指针等问题,因此在使用时需要小心。