为什么我要使用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)。
- 何时使用case 1,何时使用case 2。