문자열 상수는 연속된 주소공간에 저장되지 않는다?
이웃한 주소의 연속으로 출력될 것을 예상하였으나 그렇지 않음
#include <stdio.h>
int main(void)
{
printf("주소값 : %p\n", "mango");
printf("첫번째 문자 : %c\n", *"mango");
printf("첫번째 주소값 : %p\n", *"mango");
printf("두번째 문자 : %c\n", "mango"[1]);
printf("두번째 주소값 : %p\n", "mango"[1]);
printf("세번째 문자 : %c\n", "mango"[2]);
printf("세번째 주소값 : %p\n", "mango"[2]);
printf("네번째 문자 : %c\n", "mango"[3]);
printf("네번째 주소값 : %p\n", "mango"[3]);
printf("다섯번째 문자 : %c\n", "mango"[4]);
printf("다섯번째 주소값 : %p\n", "mango"[4]);
printf("여섯번째 문자 : %c\n", "mango"[5]);
printf("여섯번째 주소값 : %p\n", "mango"[5]);
return 0;
}
----------------------------------------
주소값 : 00403024
첫번째 문자 : m
첫번째 주소값 : 0000006D
두번째 문자 : a
두번째 주소값 : 00000061
세번째 문자 : n
세번째 주소값 : 0000006E
네번째 문자 : g
네번째 주소값 : 00000067
다섯번째 문자 : o
다섯번째 주소값 : 0000006F
여섯번째 문자 :
여섯번째 주소값 : 00000000