p가 int형 포인터라고 하고
(*p)++;
이렇게 하면 p가 가리키는 변수 값이 1 증가한다는건 알겠는데
*p++;
이렇게 했을 때는 정확히 어떤 일이 일어나는건가유?
검색해보니까 뭐 주소가 한칸 늘어난다? 그런 말을 봤는디..
출력해 봤을때 0043FAEC가 0043FAF0이 되는걸 봐서 +4가 된거고..? (이 표현이 적절한지는 모르겠지만)
저 4라는게 4byte에서 나온거 같은디
지금 이 메모리 체계(?)를 잘 모르고 있어서 뭐라고 물어보기도 뭐한디
ㅁ;ㄴ댜ㅐ겹23234ㅕ#ㅑ*ㅁ냉랴ㅁ
쨌든 설명해 주실분 계시면 ㄳㄳ
별다른 식이 없으면 *p++; 자체는 p++랑 다를바 없음
포인터 연산은 가리키는 타입의 크기, 즉 sizeof(타입) * n 로 연산함
char* p = &ch; p++; 하면 p는 sizeof(char) * 1 만큼 증가, double *p = &dob; p++ 하면 sizeof(double) * 1 만큼 증가
p++; 말인가?
긍게 int가 4byte라서 4가 증가했다는거지유???
그 그 변수의 값을 저장하는 메모리가 4 증가하는건가유???
맞음, 쉽게 배열을 생각하면됨. int arr[]; 라는 배열이 있을때 &arr;[0], &arr;[1] 차이가 얼마겠음? 4바이트 차이나야겠지? arr[2]는 8바이트 차이날꺼고?
아하 감사해유S2S2S2S2