gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 04:22:26 26 4
gpt4 key购买 nike

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

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/45263140/

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