为什么在没有 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。