개인노트
[C언어] 포인터 대상의 const 선언 본문
* C언어에서 const란 변수를 상수화(값을 고정) 시키는 목적이다. *
* 또한 const를 선언하게 되면 안전성이 향상된다. *
예시1 |
< 그림 1 > < 그림 2 > |
[ 예시 1번 해석 ]
그림 1의 const int * ptr = # 코드와 그림 2의 int const * ptr = # 코드는 동일한 뜻을 가진 코드이며,
포인터 변수 ptr에 저장된 변수의 값을 상수로 선언한 것이다.
다시 설명하자면 포인터 변수 ptr에 저장된 변수 num의 메모리 값을 참조하여 num에 저장된 값을 바꿀 수 없다는 뜻이다.
즉, num에 저장된 값은 num = 40; 과 같이 선언해서 바꿀 수는 있지만 ptr에 선언된 메모리 주소 값을 통해서는 바꿀 수 없다.
예시2 |
< 그림 3 > |
[ 예시 2번 해석 ]
그림 3은 그림 1, 그림 2와 달리 * 뒤에 const를 선언한 것을 볼 수 있다.
이것은 포인터 변수 자체에 상수 선언을 한 것이며 포인터에 저장된 주소 값을 바꿀 수 없다는 의미이다.
즉, 포인터 변수에 저장된 메모리 값을 참조하여 변수에 저장된 값을 바꿀 수 있지만 저장된 메모리 값 자체는 바꿀 수 없다.
'C > 문법' 카테고리의 다른 글
[C언어] 2차원 배열 선언과 초기화 (0) | 2017.07.04 |
---|---|
[C언어] 다차원 배열 (0) | 2017.07.04 |
[C언어] 배열을 함수의 인자로 전달하는 방법 (0) | 2017.07.02 |
[C언어] 포인터 배열 (0) | 2017.06.30 |
[C언어] 포인터와 문자열 (0) | 2017.06.30 |
Comments