C语言使用二级指针改变二维数组元素值
时间: 2023-12-20 12:58:00 浏览: 142
当使用二级指针来改变二维数组中的元素值时,可以使用以下代码:
```
void changeValue(int **array, int row, int col, int newValue, int targetRow, int targetCol) {
//找到目标元素在一级指针数组中的位置
int *targetArray = *(array + targetRow);
//使用二级指针在该位置找到目标元素
int *targetElement = targetArray + targetCol;
//修改目标元素的值
*targetElement = newValue;
}
int main() {
int array[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int *arrayPtr[3] = {array[0], array[1], array[2]};
//将二级指针作为参数传递到函数中,并指定要修改的元素的行和列
changeValue(arrayPtr, 3, 3, 10, 1, 1);
//输出修改后的数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", array[i][j]);
}
printf("\n");
}
return 0;
}
```
这段代码首先定义了一个二维数组和一个一级指针数组,然后将二维数组中的每一行的首元素地址存储到一级指针数组中。在 `changeValue` 函数中,使用二级指针指定要修改的元素的行和列,找到目标元素在一维指针数组中的位置,并修改其值。最后,在 `main` 函数中输出修改后的数组。
阅读全文