c++ 완전초보 switch 문 질문좀 여쭙겠습니다.
조회수 2438회
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
사실 학습을 위한 제일 좋은 방법은 어셈블리를 익히는 겁니다.
실행파일을 디버깅을 해보면서 함수를 call할때 스택이 쓰이는 과정을 학습하면 문제를 이해하기 좋습니다.
함수를 호출하게 되면 함수의 파라미터를 push 하고 call opcode를 호출하여 call opcode 다음 주소(리턴 주소)를 스택에 push 합니다. 다음으로 지역변수들이 스택에 push 됩니다.
스택이란 공간은 함수 호출 및 실행시 필요한 공간인데 기본적으로 쓰레기값들이 있는 메모리 공간입니다.
초기화를 하지 않으면 무슨 값이 있을지 예상 할 수 없습니다. 그런 이유로 초기화 하지 않은 지역변수는 컴파일러가 오류로 판단합니다.
char op = ''; int y = 0;
와 같이 초기화해주세요.
댓글 입력