首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

函数传递指针

2012-03-06 
函数传递指针在线等C/C++ codevoid A (RSTRUCT * R) void fun(){...RSTRUCT * ff.x 23f.y 23f.z

函数传递指针 在线等

C/C++ code
void A (RSTRUCT * R) void fun(){...    RSTRUCT * f;    f.x = 23;    f.y = 23;    f.z = 23;    A (f)}



调试 fun()函数 发现f 结构体 有内容

可到A 函数调试,发现 f 内容为空,意思是说,函数没有成功传递参数。


这个题怎么处理呀?

[解决办法]
C/C++ code
void fun(){...    RSTRUCT * f;//这只是一个指针,没有指向任何结构体,需要先给这个指针分配空间,或是指向一个结构体再赋值    f.x = 23;    f.y = 23;    f.z = 23;    A (f)}
[解决办法]
C/C++ code
    RSTRUCT * f;    f.x = 23; //首先f没有分配内存,这个前面已经说了,但是针对指针,应该是   // f->x=23,如果写成f.x=23应该出现编译错误    A (f)
[解决办法]
C/C++ code
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) ;
}
}

热点排行