[C#] 10화 실행되는 함수의 메모리 구조
by #독개#/*
* 왜 메모리를 알아야 하는가?
* 메모리란 C#을 배워야 하기 때문에 알아야 하는게 아니라 모든 프로그램의 근간이 되는 개념이기 때문이다
* 메모리의 구조를 안다는 것은 코드의 동작원리를 아는 것과 같다
* 단 하나도 공짜가 없다
* 함수의 크기는 모든 지역변수+@ (모든지역변수의 크기합 이상) 로 결정된다.
* 호출하는 함수는 호출할때 Stack메모리에 그함수의 공간을 만든다
*/
class Player
{
int HP = 100;
int AT = 10;
public void Damage(int _Dmg)
{
}
}
namespace _10화_실행되는_함수의_메모리_구조
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("메모리1차함수");
int Value;
Player NewPlayer = new Player(); //이건 Heap에 할당된다 추후설명
NewPlayer.Damage(3);
}
}
}

Console.WriteLine("메모리1차함수"); 스택에 생겼다가 실행을 완료하고 사라진다
그다음 NewPlayer.Damage 라는 함수가 다시 스택에 생겼다가 실행을 완료하면 사라진다 이때 지역변수도 다사라지겠지

그리고 다사라지고 메인함수의 { } 끝으로오면 메인함수도 사라지면서 프로그램은 모든 메모리를 os에 반납하고 끝난다
'🔥 프로그래밍 학습 > C#' 카테고리의 다른 글
| [C#] 12화 ★레퍼런스의 메모리 구조 및 처리 개념 (0) | 2022.11.20 |
|---|---|
| [C#] 11. 값형의 메모리 구조 및 처리 개념 Call by Value (0) | 2022.11.19 |
| [C#] 9화 연산자 (0) | 2022.11.19 |
| [C#] 8화 함수 용법 추가설명 (0) | 2022.11.19 |
| [C#] 7화 맴버함수, 지역변수, 클래스 접근 제한 지정자 (0) | 2022.11.19 |
블로그의 정보
독한 개발자
#독개#