我有一個問題......可以說我有下面的代碼部分:的malloc在for循環
int *a,*a1,*a2;
for (i=1; i<=2; i++) {
a=malloc(sizeof(int));
if (i==1) a1=a;
else if (i==2) a2=a;
}
*a1=5;
*a2=4;
所以我的問題是 如果我用printf打印A1和A2的參量A1是要去值爲5,a2爲值4?所以如果我使用malloc來分配內存和該內存空間中的點並再次使用malloc來分配內存,那麼指向內存的不同部分,但內存的第一部分仍然存在?或者,如果我使用malloc有再次它將抹去的記憶的第一部分,它會寫的內存
您可能需要'if'條件。 – effeffe
又是什麼實際用途?^^ – Vogel612
如果你想打印5和4,你必須分別打印a1和a2。 和你從未初始化* a。未定義的行爲。 –