답변 1
1
경우에 따라 다릅니다.
예를 들어서
int v; // 초기화 하지 않음
v = 123;
// 이후에 v 사용
이런 경우에는 초기화를 하지 않아도 문제가 생기지 않습니다. 그러나 아래와 같은 경우에는 문제가 생깁니다.
int v; // 초기화 하지 않음
v = v + 100;
// v의 값이 100일 수도 아닐 수도 있어서 위험
최근에 나오는 프로그래밍 언어에서는 프로그래머들의 실수를 방지하는 것이 더 중요하기 때문에 언어 차원에서 내부적으로 무조건 초기화를 해주는 방향으로 발전해나가고 있습니다. C언어에서는 초기화하는 것 조차 프로그래머에게 선택권을 주기 위해서 언어 차원에서 초기화를 해주지 않는 것입니다. 최근에는 C언어나 C++언어에서도 초기화되지 않은 변수를 사용할 경우에 개발환경이나 컴파일러가 경고나 오류를 발생시켜서 프로그래머의 실수를 방지해 주기도 합니다.