length 질문
18:25
NULL은 아예 값이 없는 공백을 의미하는 것이므로 ”Hello, World!" 중간에 띄어쓰기도 길이 포함되는 건가요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. BSI님.
질문 주신 내용은 문자열 처리에서 흔히 혼동될 수 있는 부분입니다. 특히 C 언어와 같은 저수준 언어에서는 공백 문자와 NULL 문자를 다르게 처리하기 때문에 이런 질문이 생길 수 있습니다.
공백(Space)과 NULL 문자
공백 문자는 우리가 일반적으로 문장이나 단어 사이에 띄어쓰기에 사용되는 문자로, ASCII 코드상으로 보면
32에 해당하는 유효한 문자입니다. 따라서 문자열 내에 있는 공백은 문자열의 길이에 포함됩니다.NULL문자 ('\0'): 문자열의 끝을 나타내기 위해 사용되며, 이는 문자열의 길이를 세는 과정에 포함되지 않습니다. 즉, 프로그램은 이'\0'문자를 만나면 문자열의 끝이라고 인식하여 그 전까지의 길이를 반환합니다.
문자열 길이 측정 (strlen 함수)
문자열 "Hello, World!"의 길이를 계산할 때 strlen 함수는 공백을 포함해 모든 문자를 셉니다. 그러므로 "Hello, World!" 문자열의 길이는 실제로 13입니다. strlen 함수는 NULL 문자를 만나면 세기를 멈추기 때문에 '\0'은 세지 않게 됩니다.
유사한 질문과 답변 링크
- “배열과 문자열 13:54초 출력결과 문의”:
sizeof와strlen의 차이점과 문자열 길이 측정에 대한 설명을 제공합니다.
- “포인터의 개념과 활용”: 문자열에서
NULL문자 처리와 관련된 설명이 포함되어 있습니다.
이 설명이 BSI님의 질문에 대한 답변이 되길 바랍니다. 이해를 돕기 위해 유사한 기존 답변 링크도 함께 제공드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)
0
51
2
26년 1회 실기 해설 강의
0
68
2
53번 4-1 자료 오류 있는 것 같습니다.
0
73
2
7번문제
0
60
2
C언어 변형문제 9번문제 Pdf 수정요청
0
48
2
메서드 오버드라드
0
51
2
실수
0
46
1
공부 우선순위 우선강의 알려주세요
0
90
1
생성자 호출순서 강의 10번 문제 30분대 질문입니다
0
49
2
25년 2회 기출 5:40 질문입니다.
0
43
2
모의고사1회 3번 파이썬문제
0
75
2
C언어 출제변형 6번 문제
0
50
2
c언어 출제변형 강의 질문
0
32
2
28:40
0
34
2
C : 언어 배열과 문자열 수업자료
0
31
2
파이썬 리스트, 딕셔너리 질문
0
43
2
모의고사 관련 질문 건
1
69
3
자료 내용 오류
0
64
2
정적 변수, 정적 메서드(static) v2
0
51
2
v1.2 와 v0.91 PDF
0
104
1
업캐스팅 (부모형태, 자식생성자)
0
51
2
정보처리산업기사 준비중입니다.
0
74
2
실기 D -6
0
105
2
(기출) 2024년 2회 기출문제 - 이론 포함 22분32초 질문입니다
0
60
3





