函数调用问题-参数

zaijian4455 2016-02-01 12:15:38
大家好,我需要调用这个函数,unsigned int mms_fetch_domain_name_list( char *server_name, char (**domain_names)[MAX_NAME_LEN], int *num_dom ),不知道需要如何进行定义及初始化 char (**domain_names)[MAX_NAME_LEN]这个参数,请大家帮帮忙!
...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
HeBanBei 2016-02-02
  • 打赏
  • 举报
回复
好奇地问一下,你这个函数名里的是 mms 是制造报文规约吗? 是不是IEC-61850里的东西? 电力自动化方面的动态链接库?
zaijian4455 2016-02-01
  • 打赏
  • 举报
回复
非常感谢二位,主要我是调用动态链接库,可能是调用是出问题了,还以为是未初始化导致的段错误。
HeBanBei 2016-02-01
  • 打赏
  • 举报
回复
引用 1 楼 paschen 的回复:

	char* server = "xxx";
	char (*domain)[MAX_NAME_LEN];
	int num = 3;
	mms_fetch_domain_name_list(server, &domain, &num);
我的理解: 1、第二个和第三个参数都是输出参数,所以不需要初始化。如果一定要赋初值,直接为NULL或0就可以了。 2、这个函数的功能,就是要取得一组domain_name。一个domain_name用一个指向一个字符数组的指针表示,也就是 char (*p)[MAX_NAME_LEN]。一组domain_name就是由一组这样的指针表示。这组指针在函数中又组成了一个数组。 但是从参数上看不出来。因为只要第一个指针就够了,你可以通过依次找下一个指针来找到所有的指针。所以, char (*domain)[MAX_NAME_LEN]这样的定义是正确的。执行完函数之后,domain就已经是第一个指针了。但是还有一个问题,就是你要找多少个下一个指针才算完?这就是第三个参数的作用了。它表示指针的个数。 总之,第二个参数和第三个参数都是输出参数。
paschen 2016-02-01
  • 打赏
  • 举报
回复

	char* server = "xxx";
	char (*domain)[MAX_NAME_LEN];
	int num = 3;
	mms_fetch_domain_name_list(server, &domain, &num);

69,382

社区成员

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

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