typedef struct
{
int A;
int B;
char* C; // problem is here
}foo;
int SetA(void)
{
....
return retval;
}
int SetB(void)
{
....
return retval;
}
const char* bar(void)
{
.....
char* retval="return val";
.....
return retval;
}
void SetFoo(foo* paramFoo)
{
paramFoo->A = SetA();
paramFoo->B = SetB();
paramFoo->C = bar();
}
static foo staticFoo;
void main()
{
SetFoo(&staticFoo);
printf("%s",staticFoo.C);// printing
}
一切都會正常,但struct foo中的「char * C」不會被正確寫入。爲什麼?我需要知道我是否犯錯,以及如何糾正它?我已經跑了吧(),它返回正確的值。指向結構成員的指針
謝謝 〜最大
請修復格式 – Matteo 2012-03-01 17:44:59
你是什麼意思「寫得不好」。你怎麼知道 ? – cnicutar 2012-03-01 17:46:14
@cnicutar沒有什麼會被寫入,當我嘗試印刷它時,它不會給我任何東西。 – 2012-03-01 17:48:55