1번째의 경우는 const 가 *p 까지 포함하므로 *p를 변경할 수 없음. p의 값은 변경 가능
2번째의 경우는 const가 p까지만 포함하므로 *p를 변경할 수 있음. 하지만 p의 값은 변경 불가
(char const *p라고 쓸 수 있지만, 쉽게 이해하기 위해 char * const p 로 알아두기)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include<stdio.h> int main() { int val = 7; int tmp = 5; const int* pt = &tmp; // *pt = 3; (X) //pt = &val; (O) int* const pt2 = &tmp; //*pt2 = 3; (O) //pt2 = &val; (X) const int* const pt3 = &tmp; //*pt3 = 3; (X) //pt3 = &val; (X) return 0; } | cs |
http://novicecoder.tistory.com/entry/const-char-p%EC%99%80-char-const-p%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
참고 사이트
반응형
'잡다한 IT > 참고용' 카테고리의 다른 글
리틀 엔디안 과 빅 엔디안 (0) | 2018.06.15 |
---|---|
C에서 1바이트씩 읽어오기 (0) | 2018.06.15 |
C++ 서버 클라이언트 코드(주석) (0) | 2018.06.12 |
listen()함수의 backlog 인자 (0) | 2018.06.12 |
AF_INET 과 PF_INET의 차이점 (0) | 2018.06.12 |