커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
변수가 없는 리터럴도 메모리에 할당되나요?
C# 문법종합반 v0
1주차
북마크
노*우
댓글
5
추천
0
조회수
46
조회수
46
답변 완료
void Func1()
{
    int c = 1 + 2; //#1
    Console.WriteLine(c);
} //#2


void Func2()
{
    int a = 1;
    int b = 2; 
    int c = a + b;
    Console.WriteLine(c);
} 


코드를 짜다보면 굳이 변수를 선언할 필요가 없다고 생각해서 'Func1 #1' 부분의 1, 2 처럼 리터럴을 바로 넣어줄 때가 있습니다


그럼 이때 리터럴도 메모리에 4 + 4 바이트가 할당되는 건가요?


혹여나 메모리에 할당이 된다면 제거되는 시점은

더 이상 쓸 수 없는 값이기에 #1 코드가 끝나는 곳인가요?

다른 변수들과 마찬가지로 #2 함수가 종료되는 곳인가요?

아니면 다른 곳인가요?


//

왜 이런 질문을 드렸냐면 유니티를 사용할 때 이런 경우가 있었습니다.


if (cards.transform.GetChild(RandomCard).Find("front").GetComponent<SpriteRenderer>().sprite.name 
	== cards.transform.GetChild(num).Find("front").GetComponent<SpriteRenderer>().sprite.name)


'가독성은 없어도 변수에 할당해서 메모리 낭비할 필요 없지 않겠나?'라는 생각으로 코드를 길~~~게 작성했지만

저 생각이 맞는 것인지 틀린 것인지 전혀 모르겠습니다😥

취소
 공유
취소
댓글 0
댓글 알림
나의얼굴