以下のように、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 を使用する場合。