Computer >> Máy Tính >  >> Lập trình >> lập trình C

Các kiểu dữ liệu nguyên thủy chưa được khởi tạo trong Chương trình C / C ++

Trong phần này, chúng ta sẽ thấy khi chúng ta khai báo một biến chưa được khởi tạo, chúng giữ giá trị nào trong ngôn ngữ C hoặc C ++. Đôi khi chúng ta giả sử rằng trình biên dịch chỉ định một số giá trị như 0 cho int, 0,0 cho float, v.v. Nhưng kiểu dữ liệu ký tự sẽ như thế nào? Hãy để chúng tôi xem cách triển khai và biên dịch bằng các trình biên dịch khác nhau.

Ví dụ (C ++)

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <iostream>
using namespace std;
int main() {
   char char_var;
   float float_var;
   int int_var;
   double double_var;
   long long_var;
   cout << char_var << endl;
   cout << float_var << endl;
   cout << int_var << endl;
   cout << double_var << endl;
   cout << long_var << endl;
}

Đầu ra (Được biên dịch trong Cpp.sh)

0
0
0
0

Đầu ra (Tổng hợp trong GDB Trực tuyến)

5.88054e-39
0
6.95297e-310
0

Đầu ra (Hệ thống cục bộ)

9.73438e-039
4309744
1.15685e-306
-53505136

Bây giờ câu hỏi đặt ra là tại sao trình biên dịch C / C ++ không khởi tạo các biến với giá trị mặc định? Câu trả lời rất đơn giản, chi phí khởi tạo biến ngăn xếp rất tốn kém vì nó cản trở tốc độ thực thi, do đó các biến này có thể chứa các giá trị không xác định. Vì vậy, nó được coi là một phương pháp hay để khởi tạo một biến kiểu dữ liệu nguyên thủy trước khi áp dụng nó trong mã.