C언어에서 변수 선언시에 초기화를 안하면 왜 쓰래기 값이 나오는걸까요?
1학년때 공부를 똑띠 안해서 이런것도 모르는게 챙피하지만 지금이라도 알아야겠죠
변수를 선언하면 사용하지 않는 메모리공간에 자리를 만들어줍니다. 근데 그 메모리 공간은 그 전에 이미 사용하던 공간이였을테고 그 공간에 사용을 하니까 그전에 쓰던 값인 쓰래기 값이 들어가 있는거죠. 그러면 왜 0이나 다른 값으로 자동으로 초기화를 안해줄까 란 생각을 했는데 사용하는 변수라면 어차피 사용자가 초기화를 할테고 대입이 될텐데 괜히 자동으로 초기화를 한다고 하면 수많은 변수가 선언되는데 불필요한 명령이 추가되므로 안쓰는것입니다.