#include< stdio.h>
struct node {
int data;
};
int main() {
struct node *ptr;
ptr->data=3;
printf("%d",ptr->data);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:3
我的问题是,即使我没有声明结构节点的实例.
例如struct node n;
我还没有使用malloc为ptr分配内存,它仍然为ptr-> data分配空间.为什么?它不应该只为堆栈上的地址ptr分配内存.
并且在堆栈或堆上分配数据字段的内存.---------