|
포인터 관련 질문인데여..^^;
예를 들어서..
char *ptr = "test"; 에서..
ptr은 "test"의 시작주소를 가지고 있겠죠..
그런데...*(ptr + 1)의 값을 변경할려고 하면
error가 나는데여..여기서 궁금한게 있네여...
위에서 처럼 포인터가 문자열을 가르키도록 하면
"test"라는 문자열이 const char형이 되나여..? 이 부분에서 정확이 이해가 안되네요..^^
분명히 "test"라는 문자열이 메모리의 어느공간에 잡혀있을거고..
그중에서 e라는 부분을 변경할려고 하면 error가 나네여..
당연히 배열로 잡을경우에는 아무문제가 없구여..
const char* ptr = "test";라고 했을경우에는 당연히
"test"라는 문자열 값을 변경을 못하는데..
char* ptr = "test"에서도 변경이 안되다면 내부적으로
"test"라는 문자열이 const로 되는거 같은데여..맞나여..ㅡㅡ;
|