const 변수를 불변하게 만들고 싶을때 사용한다.(immutable)

요즘 js, React쪽에서는 웬만한 변수는 다 const로 바르고 그게 아닌 경우에만 let(mutable)로 선언한다.

 

C에서도 const를 당연히 사용하는데 포인터에 사용할 때 귀여운 상황이 벌어진다.

 

1. 포인터가 담은 값(주소)를 불변하게 할 것인가

2. 포인터가 담은 값(주소)로 간뒤에 그 값을 불변하게 할 것인가(* 로 접근)

 

 

주소냐, 값이냐

C언어 포큐아카데미

왼쪽의 int* const p = &num은 포인터의 값 즉 주소를 변경하는 것을 막는 코드이다.(1번)

오른쪽의 const int* p = &num은 포인터가 가르키는 값을 변경하는 것을 막는 코드이다.(2번)

실제로 2번 값을 막는 것이 훨씬 많이 쓰이며 중요하다고 한다.

 

'C' 카테고리의 다른 글

C언어 구조체  (0) 2019.12.18
C언어 포인터 배열  (0) 2019.12.13
C언어 배열과 포인터 차이점  (0) 2019.12.12
C 스택 메모리 해부(어셈블리어)  (3) 2019.12.09
C언어 Char, int 정리  (0) 2019.12.05

+ Recent posts