冯宝宝
你这个不是结构体问题,是值传递问题,1楼已经说了,你想通过一个函数来改变结构体里值需要指针,,具体你自己看一楼。可以
#include <stdio.h>
#include <stdlib.h>
struct T
{
int x;
char c;
};
void f(struct T *b);
struct T* f1(struct T *b);
int main()
{
struct T *p;
struct T a= {110,'z'};
p=f1(&a);
printf("%d %c\n",a.x,a.c);
// p=&a;
// f(p);
// printf("%d %c\n",a.x,a.c);
}
void f(struct T *b)
{
(*b).x=20;
(*b).c='y';
}
struct T* f1(struct T *b)
{
(*b).x=20;
(*b).c='y';
return b;
}