c语言错误重定义,C语言的重定义错误求解

追问

那如果要用到全局变量,要把它写在C文件中?

那全局变量的主要作用其实就是跨文件作用域来传递一些东西,写在C文件中,不太好在别的文件中引用吧。

用的时候写extern进去?

感觉全局变量在C里用起来比较麻烦,有时候很顺手就会在头文件中写一些全局变量定义,然后到用的时候发现各种连接错误。

想知道有没有比较标准的处理全局变量的方式?感觉它用起来特麻烦。

按照顺手的方式去写,写完了就错了。追答

全局变量是不推荐使用的,尽量使用局部变量,这可以使错误局部化。

当必须使用全局变量时:

1.如果全局变量只在某个实现文件中发挥作用,则全局变量应该定义在该实现文件,并且为static变量,以此将该变量作用于限定为该文件。

2.如果全局变量被多个实现文件中使用,则可以将全局变量声明放在头文件中,并将定义单独放在一个实现文件中,以后其他需要这个全局变量的实现文件只需包含这个头文件即可直接使用。

声明全局变量的语法:

extern类型变量名;

定义全局变量的语法:

类型变量名[=初始式];

extern类型变量名=初始式;

标准的头文件一般只包括:

1.结构体等复合结构定义

2.函数声明

3.常量宏

全局变量是不推荐使用的,尽量使用局部变量,这可以使错误局部化。

当必须使用全局变量时:

1.如果全局变量只在某个实现文件中发挥作用,则全局变量应该定义在该实现文件,并且为static变量,以此将该变量作用于限定为该文件。

2.如果全局变量被多个实现文件中使用,则可以将全局变量声明放在头文件中,并将定义单独放在一个实现文件中,以后其他需要这个全局变量的实现文件只需包含这个头文件即可直接使用。

声明全局变量的语法:

extern类型变量名;

定义全局变量的语法:

类型变量名[=初始式];

extern类型变量名=初始式;

标准的头文件一般只包括:

1.结构体等复合结构定义

2.函数声明

3.常量宏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值