extern 变量值改变
时间: 2023-11-21 15:54:54 浏览: 116
如果你想在一个文件中声明一个变量,然后在另一个文件中改变它的值,你可以使用`extern`关键字来实现。
在一个文件中,你可以使用`extern`关键字来声明变量,表示该变量是在其他文件中定义的。例如,你可以在一个文件中声明一个全局变量如下:
```c
extern int myVariable;
```
然后,在另一个文件中定义并初始化这个变量:
```c
int myVariable = 42;
```
这样,在第一个文件中就可以使用`myVariable`变量了,并且它的值会被修改为42。
需要注意的是,`extern`关键字只是用来声明变量,而不是定义变量。变量的定义应该在某个文件中进行,而在其他文件中使用`extern`来声明它。这样做可以避免多个文件中出现同名的全局变量,从而防止冲突和重复定义的错误。
相关问题
在c语言中 能不能改变extern引用的变量的值
在C语言中,extern关键字用于声明一个变量是在其他地方定义的(通常是在其他文件中)。它只是告诉编译器这个变量已经在别处定义,而不是在当前文件中定义。
当你在一个文件中使用extern关键字来引用一个变量时,实际上是在告诉编译器这个变量的定义在其他地方。因此,你不能直接通过extern引用改变变量的值。
如果你想改变extern引用的变量的值,你需要确保该变量在当前文件中可见并且可以修改。一种常见的方法是使用全局变量,这样可以在多个文件中访问和修改。
另一种方法是使用指针。你可以声明一个指向该变量的指针,并通过指针间接地修改变量的值。这样,即使变量是extern引用的,你也可以通过指针修改它的值。
总之,在C语言中,extern关键字只是用来声明一个变量在其他地方定义,不能直接通过extern引用来改变变量的值。你需要确保该变量在当前文件中可见并且可以修改,或者使用指针来间接修改变量的值。
extern使用静态局部变量
使用关键字可以在一个文件中引用另一个文件中声明的静态局部变量。静态局部变量的作用域仅限于声明它的函数内部,无法直接从其他文件中访问。但是,如果在另一个文件中使用extern关键字声明同样名称的变量,就可以访问到原先声明的静态局部变量的值。这样做的好处是可以在不改变变量作用域的前提下,实现跨文件共享变量的值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [关键字static、extern+全局变量与局部变量详解](https://blog.csdn.net/qq_51050614/article/details/124068531)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [C++中静态成员函数与静态成员变量(static )](https://download.csdn.net/download/weixin_38591011/14868586)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)