1학년 대학 수업/C++ 프로그래밍

문자와 문자열의 차이

hawon6691 2025. 9. 11. 15:33
728x90

"a"와 'a'는 C/C++에서 완전히 다른 의미를 갖습니다. 비유를 통해 쉽게 풀어볼게요.


🎭 비유: 편지와 글자

📌 'a'는 한 글자

  • 마치 편지 봉투에 적힌 단 하나의 글자라고 생각하세요.
  • 예: 'a'는 문자 하나이며, 내부적으로 아스키 코드 97로 저장됩니다.

📌 "a"는 편지 한 통

  • "a"는 문자열입니다. 즉, 'a'라는 글자와 끝을 나타내는 '\0'이 함께 들어 있는 문자 배열이에요.
  • 마치 편지지에 'a'라고 적고, 마지막에 '끝!'이라고 써놓은 것과 같죠.

🧠 기술적으로 보면

표현의미메모리 구조크기

'a' 문자 리터럴 단일 문자 (예: 97) 1 byte
"a" 문자열 리터럴 'a' + '\0' 2 bytes

📦 또 다른 비유: 택배 상자

  • 'a'는 작은 상자에 담긴 하나의 물건 (예: 알파벳 하나)
  • "a"는 큰 상자에 담긴 여러 물건 (예: 알파벳 하나 + 끝 표시)

💡 사용 예시

char ch = 'a';      // 문자 하나 저장
char str[] = "a";   // 문자열 저장 (실제로는 ['a', '\0'])

이제 'a'와 "a"의 차이가 훨씬 명확해졌죠?

728x90