Microsoft MVP성태의 닷넷 이야기
안녕하세요 c# 7.1책 스택관련 질문드립니다. [링크 복사], [링크+제목 복사]
조회: 1435
글쓴 사람
하주형
홈페이지
첨부 파일
 


지금 시작하세요 C#7.1을 공부하고 있는 초보인데요

스택을 공부하다가 이해가 안가는게 있어서요

343페이지에 int result = Sum(5, 6); 에서

Sum 메서드를 호출하면서 매개변수로 받는 Sum 메서드는 값형식인 int 형으로 선언되있는데

Sum 메서드를 호출하기 전에 리터럴인 5,6 이 먼저 스택에 올라가고 매개변수는 값형식이기 때문에 참조형식이 아닌 깊은복사가 일어나서

매개변수 값형식인 int형 v1, v2 가 스택에 올라가 총 4개의 변수가 스택에 쌓이는게 아닌건가요??

책에 보면 리터럴 5, 6이 스택에 쌓이고 v1 v2가 참조형식으로 그 메모르를 가르키고 있는데

앞에서 공부한 깊은복사 얇은복사와 내용이 혼동되어서 이해하기 어렵네요

제가 어떤곳에서 잘못알고있는지 알려주시면 감사하겠습니다

좋은책내주셔서 감사합니다






[최초 등록일: ]
[최종 수정일: 11/17/2018 ]


비밀번호

댓글 쓴 사람
 



2018-11-17 06시59분
좋은 질문입니다. ^^ 그런데, 리터럴의 경우 스택에 올라가 있지는 않습니다. 해당 코드를 빌드한 다음 exe/dll 파일을 역어셈블러로 로드해 보세요. 그럼 그 부분의 코드가 다음과 같은 의미를 가진 IL 코드로 구성된 것을 확인할 수 있습니다.

LOAD 5
LOAD 6
CALL SUM

즉, 리터럴 5, 6은 코드에 박혀져 있고 스택에 올리는 명령어를 수행하면서 로드가 되는 것입니다. 더 궁금한 것이 있으시면 또 질문해 주세요. ^^


정성태
2018-11-17 07시33분
[하주형] 아 그렇군요 답변 정말 감사드립니다
[손님]

... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
4915필승11/10/20173144WebBrowser 컨트롤 소리 출력 문의 드립니다. [2]
4914Question11/10/20173407c# 버튼 이벤트에 관하여 질문드립니다. [2]
4913Arvid11/8/20174294Log4Net 라이브러리를 이용하여 특정 기간이 지났을 때 자동 로그 삭제 기능 구현 질문 드립니다! [2]
4912조범희11/8/20174488C# FTP 다운로드중 에러 발생.. [2]파일 다운로드1
4911필승11/6/20173252WebBrowser 컨트롤 사용법에 대해 궁금합니다. [2]
4910진우11/6/20173345람다 초보 질문 드립니다. [2]
4909필승11/5/20173598TextBox에 관해 질문 드립니다. [5]
4908필승11/1/20174670특정 시각에 프로그램 종료 또는 재시작시 오류 발생 [8]
4907심너울10/29/20173276선생님이 쓰신 "시작하세요! C# 7.1~"으로 공부하고 있는데요~ [2]
4906손님10/25/20173132.net core, .net standard 관련해서 궁금합니다 [2]
490510/25/20172835watermark 관련문의 [1]
4903Ho10/25/20172775간단한 서버를 구현해 보고 싶습니다. [2]
4902황재승10/22/20173518C# 7.1 프로그래밍 왕초보자도 이해할 수 있는 수준인가요? [1]
4901김레오10/17/20176719c# 프로그램 난독화 도구인 confuserex라는 도구를 사용하다 여쭙습니다. [2]
4900황준범10/12/20173139ClickOnce 배포관련 질문드립니다. [1]
4899Question9/28/20175058C# 프로그램이 "응답 없음" 시에도 계속 독립적으로 돌아가는 타이머 생성법 [3]
4898ssdrm9/27/20173332Clickonce 실행시 보안에 막힙니다 ㅠ [1]
4897김태진9/23/20173296윈도우7 작업관리자의 상세(details)탭 생성에 대해 여쭙습니다. [1]
4896장진국9/19/20173705안녕하세요 WPF 에서 Window객체가 가비지 콜렉션에 의해 수집되지 않는거 같아서 문의드립니다. [1]
4895Question9/18/20173425Generic 에 관하여 질문드립니다. [5]
4894얼마전6.0구매자9/14/20173638C# 7.1에서 보강된 부분만 PDF로 제공하는 건 아니되나요? [2]
4893BigII9/14/20173347타 언어(JAVA, PHP 등)에서 받은 RSA 개인키 문자열을 이용하여 내용 복호화 가능 여부 [4]
4892Question9/13/20173499서브 폼에서는 무거운 작업을해도 속도가 빠를까요 ?? [1]
4891윤현수9/11/20173650Taskbar에 관한 질문입니다. [5]
4890제발9/11/20173308 시작하세요! C# 6.0 프로그래밍 책이 절판됐나요? [5]파일 다운로드1
4889낙낙이9/7/20173026안녕하세요! xsl관련 이야기입니다. [1]
... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...