c++
11월 1일 문자열, 문자배열 c++에서 주의점
송시혁
2013. 11. 3. 22:29
char ch='y';
char name[30]="KabDol";
cout <<&ch <<endl;
이 코드를 잘보면 ch는 상수 y의 값을 지니고 있다. 즉, null문자가 없다.
그런데 cout에서 ch의 주소를 찍으면, cout은 이것을 문자열로 간주하기 때문에 null을 찾을 때까지 출력을\
하려 한다. 이점을 주의 하자. 제대로 된 값을 찍고 싶으면, &ch앞에 명시적 형변환(일명 캐스팅)을 사용한다.
cout << (int)&ch << endl;로 수정하면 된다. (static_cast<int>(&ch)를 사용해도 무방하다.