#include <stdio.h>
typedef struct Mystruct
{
int iTest;
}Mystruct,*LPMystruct;
void Test(LPMystruct s )
{
s->iTest = 8;
}
void Test2(Mystruct s )
{
s.iTest = 7;
}
int main(int argc, char *argv[])
{
Mystruct s1;
s1.iTest = 3;
printf("%d\n",s1.iTest);
Test(&s1);
printf("%d\n",s1.iTest);
Test2(s1); //改变不了s.Itest 的值,还是8
printf("%d\n",s1.iTest);
return 0;
}
本文通过两个函数对比展示了在C语言中如何使用结构体指针传递参数来修改原始结构体变量的内容,并解释了为什么直接传递结构体副本无法达到同样的效果。
1597

被折叠的 条评论
为什么被折叠?



