로딩
요청 처리 중입니다...

const

 const

// const (상수) : constant value (한번 할당된 값이 프로그램 실행 중에 변하지 않는 값) const int cint = 100; // 상수화가 됨. 이런 애들을 r-value 라고 부름 // 바뀔 수 있는 애들(변수들)은 l-value 라고 부름 // const 키워드로 변수를 상수로 만들어버림. // 그런데 cint 안에 데이터 값 100이 변하지 않는 건가 그럼?

// 자세히 보자 // 100; 이런 애들이 진짜 상수이고 // int cint 이건 정수형 자료형 cint 라는 공간을 //스택 메모리 안에 만들어서 // 거기 안에 100이란 값을 넣었고. // 이제 바꾸지 않겠다. 라고 한 것뿐임. int* ptr = (int*) &cint; *ptr = 300; printf("cint 출력 : %d \n", cint); 실제 공간에는 300이 들어감 근데 출력은 다르다.

왜 저럴까? 그러면 volatile 을 쓴다면?

대체 왜 이렇게 되는가? 정리 cons...

원문 링크 : const