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


지금 시작하세요 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분
[하주형] 아 그렇군요 답변 정말 감사드립니다
[손님]

1  2  3  4  5  6  7  8  9  10  11  [12]  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5024농상7/29/20181477패턴 매칭 when에 대해서 질문있습니다. [2]
5023농상7/28/20182291패턴매칭에 대해서 질문 있습니다. [1]
5022농상7/28/20181326튜플에 대해서 건의가 있습니다. [1]
5021농상7/27/20181317예외필터에 대해서 질문이요 [4]
5020농상7/27/20182318null 조건 연산자 예제에서 잠깐 혼동이 일어났습니다. [1]
5019농상7/26/20183389오버플로우와 언더플로우 [2]
5018이재윤7/26/20181750정말 간단한 질문일 수 있는데요! [1]
5017나나7/24/20183089Stopwatch.ElapsedTicks와 Stopwatch.ElapsedMilliseconds [9]
5015지누7/18/20182129ASP.Net Core 를 안드로이드에서 작동하는게 가능한가요? [1]
5016지누7/19/20181339    답변글 [답변]: ASP.Net Core 를 안드로이드에서 작동하는게 가능한가요?
5014최홍준7/16/20181463Credential Provider Child Window 띄우기 [1]
5013SoulToMind7/16/20181568HtmlElement 스크롤 문의 [2]
5012황윤하7/13/20181797SMTP 예외처리 관련 질문 [1]
5011손님7/9/20185407c#에서 c++ DllImport 문의 입니다. [1]파일 다운로드2
5010C# 꿈나무7/8/20182233C# WebService 에서 질문이 있습니다. [1]
5009C#초보자7/5/20182168[C#] 감시 프로그램을 제작했는데, 작동은 하나 폼이 멈춰버렵니다... [1]파일 다운로드1
5008도와주세요7/5/20182080 리스트 아이템의 타입을 추출해서 다시 재활용하고 싶어요.2 [6]파일 다운로드1
5007도와주세요7/4/20182334리스트 아이템의 타입을 추출해서 다시 재활용하고 싶어요. [1]
5006정환나라7/4/20182867소켓 통신과 쓰레드에 관해 질문드립니다 [4]
5005psh7/4/20182073인용에 관련해 문의 드립니다 [1]파일 다운로드2
5004까오리7/4/20181619iis8.0에서 닷넷1.1을 사용하기 위한 질문입니다. [1]
5002멋쟁이7/2/20181655WPFApp에 관한 초보 질문입니다. [1]파일 다운로드1
5001김학완7/1/20181991시작하세요 C# 7.1 프로그래밍 P53쪽 질문입니다. [2]
5000레몬6/26/20182245안녕하세요 성태님 도움으로 C# 네이버 카페 스팸글 작성되면 삭제되는 프로그램을 만들었는데요..여쭤볼게 하나 있습니다. [3]
4999jt6/21/20182160검색어 입력, 엔터 > 페북 로그인창으로 이동합니다. [4]
4998개발희망6/11/20181980C# 형변환 질문있습니다! [1]
1  2  3  4  5  6  7  8  9  10  11  [12]  13  14  15  ...