函数传递指针 在线等
void A (RSTRUCT * R) void fun(){... RSTRUCT * f; f.x = 23; f.y = 23; f.z = 23; A (f)}
void fun(){... RSTRUCT * f;//这只是一个指针,没有指向任何结构体,需要先给这个指针分配空间,或是指向一个结构体再赋值 f.x = 23; f.y = 23; f.z = 23; A (f)}
[解决办法]
RSTRUCT * f; f.x = 23; //首先f没有分配内存,这个前面已经说了,但是针对指针,应该是 // f->x=23,如果写成f.x=23应该出现编译错误 A (f)
[解决办法]
void A (RSTRUCT * R) void fun() { ... RSTRUCT * f; f = (RSTRUCT *)malloc(sizeof(RSTRUCT));//分配内存 f->x = 23;//赋值 f->y = 23; f->z = 23; A (f) }
[解决办法]
void A (RSTRUCT * R);
void fun()
{
...
RSTRUCT * f;
f = (RSTRUCT *)malloc(sizeof(RSTRUCT));//分配内存
if (f!=NULL) {
f->x = 23;//赋值
f->y = 23;
f->z = 23;
A (f) ;
}
}