我爲什麼要使用malloc時同樣的工作,可以通過不如下的malloc做..爲什麼使用malloc結構?
#include <stdio.h>
#include <conio.h>
struct node {
int data;
struct node *l;
struct node *r;
};
int main(){
//Case 1
struct node n1;
n1.data = 99;
printf("n1 data is %d\n", n1.data);
//Case 2
struct node *n2 = (struct node *) malloc (sizeof(struct node));
n2 -> data = 4444;
printf("n2 data is:%d\n",n2 -> data);
free(n2);
return (0);
}
- 我有很難理解如何N1未初始化的內存位置是能夠存儲數據(99)。
- 時使用殼體1以及何時使用殼體2
你是我的大師!準確的答案,並清除我腦海中的每一個問題!希望我可以投票1000給你哈哈...感謝很多。 –
'「4個字節的指針比」'不僅僅是 - 「有效得多 - 它可以在寄存器中傳遞,而不是在內存中複製。 –