结构体指针作为函数参数!!!

bazzi2011 bazzi2011 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
需要用到的一个接口函数,第4个参数是结构体,请问怎么传参???


下面是接口函数定义:

#define MAX_TIMESEGMENT 4


int __stdcall SetXXXXX(
int _iLogonID //登陆的返回值
int iChannelNum //通道号
int iWeekday //星期,星期日到星期六为0~6
PNVS _strScheduleParam[MAX_TIMESEGMENT] //时间模板,支持最大4个时间段
);


下面是那个结构体的定义:


typedef struct{
unsigned short iStartHour; //开始时0-23
unsigned short iStartMin; //开始分0-59
unsigned short iStopHour; //结束时0-23
unsigned short iStopMin; //结束分0-59
unsigned short iRecordMode; //使能
)NVS, *PNVS;


那么我要调用这个函数接口,第四个参数应该怎么传参???

SetXXXXX(1, 5, 1, ???);//第四个参数怎么传???


下面是我自己写的传法,但每次都调用失败。

PNVS ps[4];
for (int i = 0; i != 4; ++i)
{
ps[i] = new NVS;
}
//假如我初始化ps[1]
ps[1]->iStartHour = 11;
ps[1]->iStartMin = 33;
ps[1]->iStopHour = 18;
ps[1]->iStopMin = 55;
ps[1]->iRecordMode = 1;

SetXXXXX(1, 5, 1, ps); //这样写???

SetXXXXX(1, 5, 1, &ps[1]);//还是这样写???

目前只有这两种写法可以执行正确,但这个接口函数的返回值是错误的,也就是说设置失败了,请问是不是还有别的传参方法。




...全文

相关推荐

C语言PPT 谭浩强 编的 非常好!!!

**函数**:阐述函数的作用、定义、调用,以及函数参数和返回值的使用。4. **指针**:讲解指针的概念、操作和用途,这是C语言的一个关键特性,也是其强大的原因之一。5.

宋小宇

C语言:结构体与结构体指针

结构体作为函数参数与结构体指针作为函数参数的区别: - 如果将结构体作为函数参数(如`fun(struct st bc)`),这是值传递,函数内部对`bc`的修改不会影响到调用者。

weixin_38721398

结构体类型数据作为函数参数(三种方法)

本文主要讨论了在C++编程中如何将结构体类型数据作为函数参数的三种方法。首先,我们探讨了直接使用结构体变量名作为参数的情况。这种方式属于"值传递",即将整个结构体变量的副本传递给函数。这虽然直观,但在

weixin_38571453

详解C++中的指针结构体数组以及指向结构体变量的指针

在C++编程语言中,指针是用于存储内存地址的变量,而结构体则是一种自定义的数据类型,它可以包含多个不同类型的成员。本篇将深入探讨如何使用指针与结构体数组,以及如何操作指向结构体变量的指针。

weixin_38689477

c语言指针变量作为函数参数传递

函数参数传递的指针也可以指向函数,这种指针被称为函数指针。函数指针允许程序在运行时动态调用不同的函数,这在实现回调函数或策略模式等设计模式时非常有用。

weixin_38499553
评论 4
收藏 已收藏
分享
返回顶部
bazzi2011
C++ 语言 65,214 成员 250,514 内容