인프런 커뮤니티 질문&답변

이재완님의 프로필 이미지
이재완

작성한 질문수

홍정모의 따라하며 배우는 C언어

5.2 대입 연산자와 몇 가지 용어들

5-2, 초기화와 대

해결된 질문

작성

·

349

1

안녕하세요.

강의를 듣던 중 'const int TWO = 2;' 코드가 대입이 아니라 초기화라고 설명하셨습니다.

대입과 초기화의 차이가 헷갈립니다.

초기화란 처음 어떤 변수에 값을 넣는 과정을 말하는 걸까요?

그럼 초기화는 일종의 대입이 아닌가요?

답변 1

1

안녕하세요, 답변 도우미 Soobak 입니다.

초기화와 대입은 다소 다른 의미를 가지고 있습니다.

  • 초기화(Initialization) : 변수가 생성될 때 처음으로 값이 할당되는 과정을 말합니다.
    예를 들어, int a = 1; 에서 a 는 생성과 동시에 1 로 초기화됩니다.

  • 대입(Assignment) : 이미 생성된 변수에 새로운 값을 할당하는 과정을 말합니다.
    예를 들어, a = 2; 에서 a 에는 2 가 대입됩니다.

따라서 , const int TWO = 2TWO 라는 변수를 생성함과 동시에 2초기화를 하는 코드입니다.
이후 TWO 에 다른 값을 대입하려고 하면, TWO상수(const) 이므로, 컴파일 에러가 발생할 것입니다.
이 부분이 초기화와 대입의 차이점을 이해하시는 데에 도움이 되실 것 같습니다.

이재완님의 프로필 이미지
이재완

작성한 질문수

질문하기