如以下代码,其中root结构体指针还没有分配内存空间,怎么取地址?又怎么被函数CreatTree(TreeNode *root)中的root接受,没有地址也能被指针接收吗?
```c
typedef struct TNode {
char val;
struct TNode *left;
struct TNode *right;
} TNode,*TreeNode;
void CreatTree(TreeNode *root){
// 代码块...
}
int main() {
TreeNode root;
CreatTree(&root);
return 0;
}
```
可以这样被结构体指针接收,但因为没分配内存空间,指针无法访问结构体的数据。
这就是CreatTree函数要做的事情,需要给这个结构体指针动态分配内存空间