>  기사  >  백엔드 개발  >  C/C++의 초기화되지 않은 기본 데이터 유형

C/C++의 초기화되지 않은 기본 데이터 유형

WBOY
WBOY앞으로
2023-08-28 22:17:03976검색

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/C++의 초기화되지 않은 기본 데이터 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제