声明与定义

https://blog.csdn.net/crr411422/article/details/131033662

全局变量与类中变量的区别

在C语言中,头文件中定义的全局变量和类中定义的成员变量都是在类的外部可见的,但它们有以下区别:

1.存储位置:全局变量存储在全局数据区,成员变量存储在对象的实例中。

2.作用域:全局变量具有文件作用域,成员变量具有类作用域。

3.生命周期:全局变量的生命周期从程序开始到结束,成员变量的生命周期与对象的生命周期相同。

4.访问权限:全局变量默认是外部链接,成员变量可以设置为private、protected、public,控制不同作用域的访问权限。

5.初始值:全局变量如未初始化,默认初始值是不确定的,成员变量如未初始化,默认初始值为0。

// 全局变量,在头文件中定义
int globalVar;

class MyClass {
public:
    // 成员变量
    int memberVar;
};

// 成员变量默认初始化为0
MyClass obj;
// 全局变量如果没有显式初始化,其值是不确定的
分类: 基础

0 条评论

发表回复

您的电子邮箱地址不会被公开。