가장 일반적인 질문 중 하나는 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"; }
1.4013e-045 0 2.91499e-322 0
0 0 0 0
이제 질문이 생깁니다. 왜 C나 C++에서는 변수에 일부 기본값을 할당하지 않습니까? 대답은 스택 변수를 초기화하는 데 비용이 많이 든다는 것입니다. 실행 속도에도 영향을 미칩니다. 따라서 이러한 변수에는 일부 중간 값이 포함될 수 있습니다. 따라서 기본 데이터 유형을 사용하기 전에 해당 값을 초기화해야 합니다.
위 내용은 C/C++의 초기화되지 않은 기본 데이터 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!