用 NULL 初始化时指针是否指向某物?
Does a pointer point to something when initialized with NULL?
我正在解决 leetcode.com 中涉及二叉树的问题。在那里我发现了一个我无法正确理解的二叉树结构。下面是二叉树的结构。
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
现在我的问题是,如果我用下面的语句 TreeNode tree(17);
初始化一个 Treenode 对象 "tree",tree.left
会是一个空指针,还是 tree.left
会是另一个用 NULL 初始化的 TreeNode 对象?
提前致谢。
您混淆了指针和指向的东西。
在这种情况下,tree.left
可以指向另一个TreeNode,但它不能是另一个TreeNode。并在 tree
初始化后立即变为 NULL
.
我正在解决 leetcode.com 中涉及二叉树的问题。在那里我发现了一个我无法正确理解的二叉树结构。下面是二叉树的结构。
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
现在我的问题是,如果我用下面的语句 TreeNode tree(17);
初始化一个 Treenode 对象 "tree",tree.left
会是一个空指针,还是 tree.left
会是另一个用 NULL 初始化的 TreeNode 对象?
提前致谢。
您混淆了指针和指向的东西。
在这种情况下,tree.left
可以指向另一个TreeNode,但它不能是另一个TreeNode。并在 tree
初始化后立即变为 NULL
.