求助

hzhello 2003-10-20 06:40:39
在c中的函数间如何传递二维数组的参数
...全文
33 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bing_huo 2003-10-22
  • 打赏
  • 举报
回复
up楼上的
playboyxp 2003-10-22
  • 打赏
  • 举报
回复
数组在内存里就是指针
传递的是他的首地址
Jupin 2003-10-20
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>
void doSomething(char (*p)[4]);
int main()
{
char arr[4][4] =
{
{'H','o','w',0},
{'o','l','d',0},
{'a','r','e',0},
{'y','o','u',0}
};

doSomething(arr);

system("pause");
return 0;
}

void doSomething(char (*p)[4])
{
int i;
for (i = 0; i < 4; ++i)
printf("%s\n", *(p++));
}

刚才写的有问题,这个好了。
Jupin 2003-10-20
  • 打赏
  • 举报
回复
举个例子吧:
int main()
{
char arr[10][10];
doSomething(arr);
}

void doSomething(char (*p)[10])
{
for (int i = 0; i < 10; ++i)
{
cout << p++;
cout << endl;
}
}

ttlb 2003-10-20
  • 打赏
  • 举报
回复
char a[10][20];
// 函数声明
void func(char **ErWeiShuZu);
// 使用
func(a);
SolidRabbit 2003-10-20
  • 打赏
  • 举报
回复
什么意思?
和传递一维数组一样是传递首地址啊。
不过要注意的是用指针操作数组时,下标与指针的关系。

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧