Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ค่าเริ่มต้นของ Primitive Data Types ที่ไม่ได้ Initialize ใน C/C++

ค่าของตัวแปร Primitive ที่ไม่ได้ Initialize (Uninitialized) เป็น Indeterminate (Garbage Value) แตกต่างระหว่างระบบและคอมไพเลอร์

ตัวอย่าง

#include <iostream>
using namespace std;

int main() {
    char a; float b; int c; double d; long e;
    cout << a << "\n" << b << "\n" << c << "\n" << d << "\n" << e << "\n";
    return 0;
}

ผลลัพธ์ (Windows)

1.4013e-045
0
2.91499e-322
0

ผลลัพธ์ (Linux)

0
0
0
0

ทำไม C/C++ ไม่กำหนดค่า Default? เพื่อประสิทธิภาพ - การ Initialize ทุกตัวแปรบน Stack ทุกครั้งจะช้าลง