#include <stdio.h>


int main (void)

  char* arr[3]={

  "fervernt-lecture","TCP/IP","Socket Prgoramming"

};


printf("%s ",arr[0]);

printf("%s",arr[1]);

printf("%s",arr[2]);


return 0;

}


네; 다름이아니라 지금 문자열배열 ,문자열상수 이런거 배우고있는 초보입니다.


"문자열상수가 메모리에 저장되는 순간 주소값을 반환한다."


이 사실은 알겠습니다.


그래서 "fervent-lecture" 이렇게 저장되는 순간 arr[0]에 "fervent-lecture"의 주소값이 들어가는 것은 알겠어요;


그래서 만약에 이걸 %d로 출력했다면 그거에 대한 주소값이 나올거잖아요? 그건 잘 이해하겠어요 ㅇㅇ


근데 제가 궁금한건 %s에요.


어떻게 단순히 그냥 주소값 0x****이런거 갖고있는 포인터를 %s로 출력하면 문자열이 나오는 것인지 궁금합니다 ㅠ


도대체 어떤 원리로 %d로 부르면 주소값을 내어놓는 그냥 포인터가 , %s로 부르면 문자열이 나오는 건가요?


%s가 문자열 서식문자라는것은 알고있습니당 ㅠ