#include <stdio.h>
int main(void)
{
char* p=\"ABCD\";
char arr[]=\"ABCD\";
printf(\"%x \\n\", p+1); // 의미없이 1을 더한건지 저장되어있는 주소p에서 char형이라 1만 움직여서 주소를 나타낸건지 의문
printf(\"%x \\n\", arr+1); // 이건 주소를 나타내는걸 알겠는데...(확실히는 모르겠음 어차피 char가 1바이트라 그냥 1더해진거나 차이가 없어서;
return 0;
}
결과는 둘다 원래 주소에서 1만 더해짐
見指望月
char 형이라 1만 움직인거임,,,arr+1도 arr이 1차원 배열의 주소이기때문에 1만 더하는거임,,
int도 해보고, 2차원 배열에 각 배열요소 주소에 숫자놀음 해보면 알기 쉬워질거임,,,//(아니면 더 헷갈리거나,,,ㅋ
의미없이 1을 더한게 아니라 둘다 메모리에 저장되있는 주소를 표현한 것이군요?
int를 하니 문자열을 사용할수없어서요; %s으로 뽑아내면 둘다 그 뒤문자열을 가리키는데 주소로도 표현되나 싶어서..