C语言 结构体清零
各位高手,我现在的那个程序有个地方有点麻烦,就是初始化我的结构体。我想弄一个函数初始化。但是格式不大会。我是先:intqingling();再在主函数里面调用:qingl...
各位高手,我现在的那个程序有个地方有点麻烦,就是初始化我的结构体。我想弄一个函数初始化。但是格式不大会。我是先:int qingling();再在主函数里面调用:qingling();最后是qingling()
{
haoma.shou = 0;
haoma.zhong = 0;
haoma.wei = 0;
}
但是我最后发现没有清零啊~
悲剧...
谢谢各位~ 展开
{
haoma.shou = 0;
haoma.zhong = 0;
haoma.wei = 0;
}
但是我最后发现没有清零啊~
悲剧...
谢谢各位~ 展开
5个回答
展开全部
你的结构体是直接做入参的吧。这样的复制只会将qingling函数中的数据清零。你应用指针
void qingling(structType* haoma){
haoma->shou = 0;
haoma->zhong = 0;
haoma->wei = 0;
}
这个和qingling(int i)函数中改i值,但调用者值不变是一回事。
void qingling(structType* haoma){
haoma->shou = 0;
haoma->zhong = 0;
haoma->wei = 0;
}
这个和qingling(int i)函数中改i值,但调用者值不变是一回事。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构体指针传入函数, 一个memset搞定!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
typedef struck A
{
int shou;
int zhong;
int wei;
}haoma;
下面是我给你写的代码,你直接就能用。
void qingling(haoma *a)
{
memset(a,0,sizeof(haoma));
}
{
int shou;
int zhong;
int wei;
}haoma;
下面是我给你写的代码,你直接就能用。
void qingling(haoma *a)
{
memset(a,0,sizeof(haoma));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说清楚些,代码贴出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询