gpt4 book ai didi

c - C语言中如何通过指针传递二维数组?

转载 作者:行者123 更新时间:2023-11-30 16:12:33 27 4
gpt4 key购买 nike

我正在学习 C,但在将 2D 数组的指针传递给另一个函数(然后打印 2D 数组)时遇到问题。任何帮助,将不胜感激。

int main( void ){
char array[50][50];
int SIZE;

...call function to fill array... this part works.

printarray( array, SIZE );
}

void printarray( char **array, int SIZE ){
int i;
int j;

for( j = 0; j < SIZE; j++ ){
for( i = 0; i < SIZE; i ++){
printf( "%c ", array[j][i] );
}
printf( "\n" );
}
}

最佳答案

char ** 不代表二维数组 - 它是指向指针的指针数组。如果你想向它传递一个二维数组,你需要更改 printarray 的定义:

void printarray( char (*array)[50], int SIZE )

或等效的:

void printarray( char array[][50], int SIZE )

关于c - C语言中如何通过指针传递二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58306938/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com