본문 바로가기
728x90

call by reference2

C#, 포인터의 크기 (Pointer size) 포인터의 크기 일반적인 데이터형에 따른 메모리 사이즈말고도 할당으로 인해서 생기는 메모리도 존재합니다. 우리는 이것을 포인터라고 표현합니다. 보통 변수를 선언할 때는 메모리로부터 할당을 받습니다. 우리가 클래스를 만들고, 클래스를 할당 받으면 메모리가 어떻게 얼마나 생기는지 예측할 수가 있기도하고, 필요할 때만 받을 수 있게 정확히 구분 지어 사용이 가능합니다. 할당으로 생기는 메모리 크기는 "4byte" 통상적으로 메모리 크기는 4byte입니다. 언어 환경 또는 빌드 때 시스템 환경이 32비트냐 64비트냐에 따라 8byte가 되기도 합니다. 이는 포인터에 값이 들어있으면 존재하고, null이면 존재하지 않습니다. 예제 아래와 같은 클래스들이 있습니다. public class A { public stri.. 2023. 12. 29.
'Call by value'와 'Call by reference'의 차이 함수 호출 방법은 크게 두가지가 있다. Call by value(값에 의한 호출) Call by reference(참조에 의한 호출) 이를 설명하기 위해, 많은 교재에서는 그림으로 예시를 들고 있다. 예를 들어, 컵에 물을 채워서 이 물을 직접 가져다가 다른 컵에서 사용하느냐, 아니면 똑같은 컵과 물을 한 컵 더 준비하여 사용을 하느냐라는 식이다. 언뜻 보면 이해가 쉬울 수 있지만, 오히려 헷갈릴 수가 있다. 이는 프로그래밍적으로 직접 접근해서 알아보는 것이 가장 확실하다. Call by value(값에 의한 호출)는 인자로 받은 값을 복사하여 처리를 한다. Call by reference(참조에 의한 호출)는 인자로 받은 값의 주소를 참조하여 직접 값에 영향을 준다. 간단히 말해 값을 복사를 하여 처리.. 2022. 9. 13.
반응형