태그: const 포인터

A) const 키워드를 변수 선언문 앞에 붙이면 상수화 변수여서 초기화를 해 주어야 해. B) 포인터 선언문에서 *앞에 const를 명시하면 가리키는 곳의 값을 변경할 수 없어.

C언어에서 변수 선언문 앞에 const 키워드를 명시한 변수를 상수화 변수라 불러요.
상수화 변수는 값을 변경하지 못하여 흔히 상수라고도 부르죠.

상수화 변수는 선언과 동시에 초기화가 필요해요.
값을 변경하지 못하는 상수화 변수의 초기값을 설정하지 않는다면 아무런 의미가 없겠죠.

상수화 변수는 l-value로 사용할 수 없어요.

const 키워드를 포인트 변수 선언문에 명시하면 위치에 따라 상수화 의미가 조금씩 달라집니다.

const 키워드가 *과 변수명 사이에 오면 포인터 변수에 초기화한 메모리 주소를 다른 주소로 변경할 수 없다는 의미예요.

 

const 키워드가 * 앞쪽에 오면 포인터 변수가 가리키는 곳의 내용을 변경할 수 없다는 의미죠.
실제 이와 같은 형태로 가리키는 곳을 변경하지 않겠다는 의미로 입력 매개 변수를 결정하는 함수는 흔히 볼 수 있어요.
그 중에 하나가 strcmp 함수예요.

int strcmp ( const char * str1, const char * str2 ); 문자열을  비교하는 함수


[C언어 무료 동영상 강의] 57.전역변수 58. 지역변수 59. 정적변수 60. 상수화변수