c언어 코딩도장 95페이지 디버거 공부하다가 질문있습니다.
, J Y님이 작성C언어 코딩도장 UNIT 6 디버거 사용하기 95페이지에서 노란색 화살표는 현재 노란색화살표가 있는 줄을 실행하려고 대기하는 상태인데 그럼 num1도 생성조차 안되야하는거 아니예요?
비록 num1의 값은 할당되지 않긴했지만 왜 노란색화살표가 있는 부분에서 num1이 생성은 되는것인지 궁금합니다.
Re: c언어 코딩도장 95페이지 디버거 공부하다가 질문있습니다.
, 도장_ 관리자님이 작성중단점을 설정한 이후에 중단점 위치에서 조사식 창에 직접 변수들을 넣어보세요.
num1, num2, num3는 생성되어 있고, 값을 할당하기 전이므로 -85... 같은 값으로 되어 있습니다. 이 값은 정해져 있지 않고 C 언어 컴파일러가 구현하기 나름이지만, 값이 할당되기 전이므로 보통은 쓰레기 값이라고 부릅니다.
num4, num5는 넣어보면 식별자가 정의되어 있지 않습니다라는 메시지가 표시됩니다.
소스 코드를 컴파일했을 때 코드는 미리 컴파일되어 있습니다. 함수 안에서 실행되는 변수 이름 같은 정보는 미리 알고 있겠지요.
함수 안에서 선언된 변수는 함수가 실행될 때 생성됩니다. main 함수가 실행될 때 main 함수에 선언된 변수 3개, num1, num2, num3는 먼저 생성됩니다. 그리고 코드가 한 줄씩 실행될 때 값이 할당되게 됩니다.
main 함수 안에 선언된 변수는 main 함수가 종료될 때 제거됩니다. 단, main 함수는 프로그램의 시작 함수이므로 main 함수가 종료되면 프로그램도 종료됩니다.
함수의 범위에 대해서는 차례대로 학습하면 배우게 됩니다.