C / C ++中未初始化的原始数据类型
最常见的问题之一是C或C++中一些未初始化的原始数据值是什么?那么答案在不同的系统中会有所不同。我们可以假设编译器会将0赋给变量。可以将整数设置为0,将浮点数设置为0.0,但是对于字符类型数据将是什么呢?
示例
#include <iostream>
using namespace std;
main() {
char a;
float b;
int c;
double d;
long e;
cout << a << "\n";
cout << b << "\n";
cout << c << "\n";
cout << d << "\n";
cout << e << "\n";
}输出(在Windows编译器上)
1.4013e-045 0 2.91499e-322 0
输出(在Linux编译器上)
0 0 0 0
那么,现在的问题来了,为什么C或C++没有为变量分配一些默认值?答案是,初始化堆栈变量的开销很大。这也会影响执行速度。因此,这些变量可能包含一些中间值。因此,我们需要在使用原始数据类型值之前对其进行初始化。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西