-
cout 과 문자열 포인터쾌락없는 책임 (공부)/C++ 짜잘이 2021. 12. 27. 13:38반응형
int int_arr[5] = {1, 2, 3, 4, 5}; char char_arr[] = "Hello, World!"; const char *name = "Husk Husk"; cout << int_arr << endl; // 주소값 cout << char_arr << endl; // Hello, World! cout << name << endl; // Husk Husk
위 코드를 실행해보면 배열 시작 주소값이 나오는 int와는 다르게 문자들은 문자열이 나오게 된다. 이는 cout 에서 문자의 포인터가 들어오면 이를 문자열로 생각을 해서 cout이 계속 읽어주는 것이다.
char c = 'Q'; cout << &c << endl;
이러면 Q뒤에 이상한 문자들이 나오게 되는데 이는 cout 에서 문자열로 인식을 하고 계속 읽다가 \0 이 나올때까지 계속 찍게 되는 것이다. (뒤에는 뭐가 있는지 알 수 없어 아무 문자열이 나오게 된다).
반응형'쾌락없는 책임 (공부) > C++ 짜잘이' 카테고리의 다른 글
C++ make_pair vs {} (0) 2022.03.06 C++ fill_n vs memset, 무슨 차이가 있을까 (0) 2022.02.28 C++ pimpl과 관련한 이야기들 (0) 2022.02.16 C++ 구조체, 클래스 패딩 (0) 2022.01.24 C++ 에서 증감 연산자 오버로딩, 전위, 후위 연산자를 구별하는 방법 (0) 2022.01.11