如何调用gets输入一个二维数组 麻烦各位编程高手提供帮助

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何调用gets输入一个二维数组 麻烦各位编程高手提供帮助相关的知识,希望对你有一定的参考价值。

参考技术A 用byref方式引用数组名称就可以了。

C语言二维数组问题

比如 int matrix[4][4]。
这个matrix 是二级指针吗?
我试过,在我的机器上,int *或者int **都不行。
那怎么调用二级数组啊?
我想知道定义一个函数中如何调用:
int main(int **)形参想读入一个二维数组,怎么办?

不是
这么说吧,数组名本身就是指针,指向数组的第一个元素

至于你所说的调用调用二级(二维吧)数组,难道不是如普通变量般直接调用吗?

根据问题补充说,这是不允许的,main()函数的形参是固定的不能传递指针。而一般的自定义函数只能用传递首地址的形式来传递二维数组,例子如下:

定义:int a[X][Y];
int func(int *p,int x,int y) //x,y即为调用x行y列的元素
printf("%d\n",p+x*X+y); //这里是通过计算指针位置实现
return 0;
调用: func(a,3,3);

这种通过计算地址方法调用相当麻烦。。可以考虑将数组定义在结构中,再将结构进行形参传递,当这样会降低效率...例子如下

#include<stdio.h>

typedef struct
int a[5][5];TE;
TE test;
int func(TE a,int x,int y)
printf("%d\n",a.a[x][y]);
return 0;

int main()

test.a[3][3]=5;
func(test,3,3);

getch();
return 0;
参考技术A matrix[i]就是指向二级数组的第i+1个数组的首地址的常量指针 参考技术B martrix本身就是一个指针,调用的话直接当已经声明的指针用,不需要额外声明。

以上是关于如何调用gets输入一个二维数组 麻烦各位编程高手提供帮助的主要内容,如果未能解决你的问题,请参考以下文章

C语言字符型二维数组用scanf和gets如何输入,举个例谢谢

如何用VB给二维数组排序

C语言如何定义一个N行N列的二维数组任意输入数据

verilog模块端口为二维数组如何调用?

JAVA编程中,如何求2维数组中最大的K个值,并且记录K个值的位置?

(java) ArrayList 分解,结果转换成 二维数组!!!