最近我開始用c語言編寫應用程序。我在下面的代碼中遇到了sum運算符的問題。當我開始程序,我給予前。 4到int a;和6到int b;然後我想A + B巫婆給我22.這裏是代碼,首先,我定義我的結構:簡單的結構與指針在c結構
struct student {
int a;
int *b;
}*s1;
然後我掃描的價值和其他步驟:
int sum, x, y;
s1 = malloc(sizeof(struct student));
scanf("%d", &x);
scanf("%d", &y);
s1->a = x;
s1->b = y;
sum = (s1->a) + (s1->b);
printf("SUM: %d", sum);
而且我測試* (s1-> a)仍然有問題。謝謝。
重要:我不想,我可以解決這個問題或建議編碼算法的更好的方法的其他方式,我只是想知道爲什麼這段代碼不工作正確,我該如何解決它。其實我想保留'b'作爲指針!
int * b; < - 這是一個int指針,而不是一個int ... –
@MitchWheat所以我怎麼能malloc b? –
erm,使用malloc !!! –