C语言中使用变量为啥必须要初始化?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中使用变量为啥必须要初始化?相关的知识,希望对你有一定的参考价值。

因为没有初始化就使用,根本不知道里面的值是多少,运算后可能会超出预期(发生不可估量的事情),所以在使用前必需加以设置 参考技术A 声明一个变量后,编译程序只会分配存储空间,这个存储空间中的值是随机(开机)时,当然也有系统给予初始化的,如静态变量,系统总会把所有的存储单元赋0值。 参考技术B 如果不初始化,变量中存储的数据随机未知,可能会造成麻烦本回答被提问者采纳 参考技术C 不初始化,你叫它从哪给你变起走?(通俗的说法)
当你声明变量后! 比如int x;
此时的X值是不确定的!

C++---类成员变量定义为引用

摘要:类成员变量是可以定义为引用类型的,但是我们需要注意一下用法

note1:在类中定义引用变量, 必须要在初始化列表中初始化该成员变量(const 类型数据成员也必须在初始化列表中进行初始化)

#include <iostream>
using namespace std;

class A {
public:
    A(int k):a(n){  // 必须要在初始化列表中进行初始化
        n = k;
        cout << a <<endl;
    }
    int get() const {
        return n+1;
    }
private:
    int n;
    int &a;
};

int main(){
    A a(10);
    cout << a.get() <<endl;
    return 0;
}

// 输出结果
// 10
// 11

note2:初始化后的引用变量所占用的内存空间和普通变量相同

#include <iostream>
using namespace std;

class A {
public:
    A(int k):a(k){}
    int &a;
};

int main(){
    A a(1);
    cout << sizeof(a) <<endl;
    return 0;
}


// 输出结果(VS2013 32位编译器)
// 4

 

以上是关于C语言中使用变量为啥必须要初始化?的主要内容,如果未能解决你的问题,请参考以下文章

C++---类成员变量定义为引用

VS2010 编写c语言变量为啥要初始化?

C语言中变量为啥要初始化?

C语言中变量为啥要初始化?

关于C语言里面指针赋值的类型问题,还有一些关于指针的问题

在C语言中,为啥定义变量的时候总是初始化为0呢?该怎么理解。