c언어 const 포인터 : 어디에 붙는지에 따라 해석 방법이 다르다.
포인터에 const가 붙으면 상당히 헷갈립니다. 이것들은 대체 무엇을 의미하는 것일까요? 먼저 아래와 같이 선언된 것을 봅시다. 이것은 p가 const char형을 가리키는 포인터임을 의미합니다. strcpy나, strcat 등의 인자가 이런 식으로 선언이 많이 되어 있음을 볼 수 있을 거에요. 예를 들면 이런 식입니다. 이는 original data인, 원본 문자열이 변경되면 안 되기 때문이에요. 12번째 줄은, *(ori+1)을 변경하려고 시도하는데요. ori가 const char형을 가리키는 포인터입니다. 이는 변경 불가능한 Read Only data입니다. *(ori+1) 또한, Read Only이고, 이를 변경하려고 하기 때문에, 오류가 발생합니다. const char *pat은, pat이 가리..
코딩/C
2019. 11. 11. 17:45
최근댓글