卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

C/C++中的未初始化原始数据类型

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++不为变量分配一些默认值呢?答案是,初始化堆栈变量的开销很高。它还会影响执行速度。因此,这些变量可能包含一些中间值。所以我们需要在使用之前初始化原始数据类型的值。

卓越飞翔博客
上一篇: C# 中的接口如何工作?
下一篇: 我们如何使用PHP脚本创建一个MySQL临时表?

相关推荐

留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏