关于全局变量笔记

前几天写代码时遇到一个问题:在一个新的c文件中写某几个变量时,即使在本文件中未定义,也不报错,跟踪发现其指向当前目录下的另一个文件中的全局变量,当时没理解其中原因,今天刚好看到大神gfree.wind的一篇博客总算是解惑了。

  关于全局变量:当定义全局变量时,有两点需要注意:一,如果只有本文件使用,那么需要添加上static;二,即使不能使用static,那么一定要为该全局变量定义初值,即使这个值就是0。这样可以保证该变量为强符号,当名字冲突时,可以发现,而不是被未知的值覆盖。三嘛,最好能够避免全局变量,或者定义一个独一无二的名字。此段引自:http://blog.chinaunix.net/uid-23629988-id-2888209.html

在Fortran中,全局变量是通过使用COMMON语句来定义的。COMMON语句用于定义一块共享的内存空间,其中包含了多个全局变量。每个想要使用这些全局变量的子程序都需要在其本地变量定义的位置重新定义所有的全局变量。每个COMMON块都应有一个唯一的名字,并且在可执行语句之前出现。全局变量的名字可以不同,但是它们的数据类型和大小必须相同,并且位置也必须相同。通常最好将全局变量的名字保持一致,这样可以方便复制和粘贴。此外,COMMON块还可以包含数组变量。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Fortran笔记全局变量](https://blog.csdn.net/qq_21091051/article/details/122994239)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Fortran的全局变量(Common blocks)](https://blog.csdn.net/qq_42926901/article/details/123103622)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值