为什么left和right不能同时定义
时间: 2023-10-10 08:09:37 浏览: 40
根据你提供的代码片段 `extern int left; extern int right, jiansu;`,我可以看出你想要同时定义 `left` 和 `right` 这两个变量。然而,这段代码实际上是不合法的。
在C语言中,每个变量的声明和定义应该是独立的语句。而在你的代码中,你尝试将 `left` 和 `right` 放在一条声明语句中,这是不被允许的。
如果你想要同时定义 `left` 和 `right`,你应该将它们分开定义,如下所示:
```c
extern int left;
extern int right;
int jiansu;
```
这样,`left` 和 `right` 都会被声明为 `extern`,表示它们在其他文件中定义,而 `jiansu` 则会被定义为当前文件中的变量。
请注意,在同一条声明语句中同时定义多个变量时,变量之间需要使用逗号 `,` 进行分隔。但是在这种情况下,由于 `left` 和 `right` 是使用 `extern` 声明的外部变量,它们不能在同一条语句中进行定义。
相关问题
定义节点类时self.left=left与
self.right=right的作用是什么?
在二叉搜索树中,每个节点最多有两个子节点,左子节点的值总是小于父节点的值,右子节点的值总是大于父节点的值。因此,在定义节点类时,需要分别定义左子节点和右子节点。
`self.left = left` 表示将节点的左子节点设置为参数 `left`,如果该节点没有左子节点,则 `left` 为 `None`。
`self.right = right` 表示将节点的右子节点设置为参数 `right`,如果该节点没有右子节点,则 `right` 为 `None`。
这样,在构建二叉搜索树时,通过比较节点的值与父节点的值的大小关系,可以决定节点插入到父节点的左子树还是右子树中,并且可以通过遍历左子树和右子树来遍历整个二叉搜索树。
extern int left; extern int right,jiansu;
这段代码中的 `extern` 关键字用于声明变量,表示该变量在其他文件中定义。具体来说,`extern int left;` 和 `extern int right, jiansu;` 声明了三个整型变量 `left`、`right` 和 `jiansu`。
这样的声明可以让编译器知道这些变量在其他文件中已经定义,从而在当前文件中可以使用这些变量而不会报错。但是需要注意的是,在当前文件中使用这些变量时,需要确保这些变量在其他文件中的定义是可见的。
通常,当你在一个文件中使用了 `extern` 声明变量时,你需要确保在其他文件中有对应的定义。例如,你可以在其他文件中定义这些变量,如下所示:
```c
// 在其他文件中定义 left、right 和 jiansu
int left;
int right;
int jiansu;
```
这样,在你的当前文件中,就可以使用这些变量了。注意,这些声明和定义要保持一致,包括类型和变量名。
`extern` 关键字的作用是告诉编译器这些变量已经在其他地方定义了,它们的实际定义和内存分配是在其他文件中完成的。这样可以实现跨文件共享变量的功能。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)