我有關於下面的程序問題: 它打印:我應該怎麼做才能修復這個程序?
dst->在主= -528993792
F1 = 6
dst.val VAL欲解決這個程序,以便將打印在
dst.val主要= 6
我該怎麼做?
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
typedef struct my_struct myStruct;
struct my_struct
{
int val;
};
myStruct *f2(void)
{
myStruct *dst = malloc(sizeof(myStruct));
dst->val = 6;
return dst;
}
void f1(myStruct *dst)
{
dst = f2();
printf("**dst->val in f1=%d\n", dst->val);
}
int main()
{
myStruct dst;
f1(&dst);
printf("**dst.val in main=%d\n", dst.val);
}
如果你可以改變自動分配對象的地址,也就是說,你不用強制'malloc()'的返回值。 – 2014-02-10 22:05:55
看起來像一個家庭作業... – thang