请问怎么将结构体数组赋给指向结构体数组的指针

dirtyduck 2004-04-29 03:23:23
例如:
怎么将info struct[5];
通过函数参数传递的形式传给
void fun(info *struct[5])
...全文
301 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
EternalBlue 2004-04-29
  • 打赏
  • 举报
回复
想一下:
void fun(char *p);
调用时:
char a[5] ={0};
fun(a);
------------------------
结构的调用也一样:
void fun(info *pInfo);
调用时
info theInfo[5];
//......初始化theInfo
fun(theInfo);
RedTear1021 2004-04-29
  • 打赏
  • 举报
回复
void fun(info *struct[5])
我想改为
void fun(info [], int size)
这是函数原型
函数定义
void fun(info struct, 5)
{
.........
}
p_s_w 2004-04-29
  • 打赏
  • 举报
回复
明白楼主的意思,下面是一个示例:
struct T
{
int x, y;
};

int Func( T (*p)[3] )
{
p[0][0].x = 11;
return 1;
}

main()
{
T t[3];
Func( &t );
return 1;
}

这是数组的一种比较少见的用法,对数组取址,得到指向数组的指针,而不是指向数组元素的指针。
liem 2004-04-29
  • 打赏
  • 举报
回复
数组作形参的二种形式:
type f(type1 *...)
type f(type1 [])//方括号内不能有N
antijpn 2004-04-29
  • 打赏
  • 举报
回复
函数声明的时候参数表里面可以写成
void fun(info infoArray[]);
或者
void fun(info *pinfo);
sharkhuang 2004-04-29
  • 打赏
  • 举报
回复
和是不是结构没有关系!你的int[]怎么用就怎么用
antijpn 2004-04-29
  • 打赏
  • 举报
回复
直接传就行了吧?就和内置的类型一样
不过你给的代码我怎么看不懂啊?struct是关键字不能作为数组名

如果你需要穿参数的话,这样应该就可以了
info mystruct[5];
fun(mystruct);
wbh0360 2004-04-29
  • 打赏
  • 举报
回复
void fun(info *struct[5]) 应改成void fun(info struct[])吧

然后调用fun(struct)
dirtyduck 2004-04-29
  • 打赏
  • 举报
回复
怎么没人回答啊,只好自己顶下先。

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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