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

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

WBOY
풀어 주다: 2023-08-28 22:17:03
앞으로
1037명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿