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