C語言中的指針數組可以用于存儲和操作多個指針,它們可以指向相同或不同的數據類型。指針數組在實際編程中有很多用途,以下是一些常見的應用場景:
int *ptr_array[5]; // 創建一個包含5個整數指針的數組
for (int i = 0; i < 5; i++) {
ptr_array[i] = (int *)malloc(sizeof(int)); // 為每個元素分配內存
}
typedef int (*func_ptr)(int, int); // 定義一個函數指針類型
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
func_ptr func_array[] = {add, subtract}; // 創建一個包含兩個函數指針的數組
int result = func_array[0](3, 4); // 調用數組的第一個函數(add)
char *str_array[] = {"Hello", "World", "C", "Language"}; // 創建一個包含4個字符串指針的數組
for (int i = 0; i < 4; i++) {
printf("%s\n", str_array[i]); // 打印數組的每個字符串
}
int int_array[] = {1, 2, 3, 4, 5}; // 創建一個包含5個整數的數組
int *ptr_array[5]; // 創建一個包含5個整數指針的數組
for (int i = 0; i < 5; i++) {
ptr_array[i] = &int_array[i]; // 將整數數組的地址賦給指針數組
}
for (int i = 0; i < 5; i++) {
printf("%d\n", *ptr_array[i]); // 使用指針數組遍歷整數數組并打印每個元素
}
總之,C語言中的指針數組在許多場景下都非常有用,它們可以幫助你更有效地管理和操作內存、函數和字符串等數據結構。