문자열 Null
안녕하세요.
만약 우리가 Console 에서
Love 라고 입력하고 엔터를 치면,
Read File Buffer 에는 당연히 Null 이 있는게 아니라 L o v e \n 이렇게 5 바이트 가 저장되는건가요?
그렇지만 이게 RAM 으로 넘어가면서 NULL 이 생기는건가요 ?
수업시간에 문자열의 경우, NULL 이 있다고 말씀해주셨는데 잘 이해가 안가서 여쭤봅니다.
답변 1
0
네. 맞습니다. Console 입/출력 버퍼는 기본적으로 Stream 형식입니다. 문자열에 끝에 null을 넣는 것은 그 끝을 알리기 위한 것으로 입/출력 버퍼에서 추출한 데이터를 문자열로 만드는 과정에서 끝에 null이 붙는 것으로 보면 되겠습니다. 이는 처리가 그렇게 되도록 라이브러리 코드가 만들어진 것일 뿐 RAM이나 CPU 같은 하드웨어와는 무관한 것입니다. 참고하시기 바랍니다. 😄
scanf("%d\n") 의미
0
20
1
주소 연산자(&) 간접 지정자(*) 반대 개념
0
33
1
Virtual Memory, Memory, Memory mapping tables
0
51
1
샘플코드 출력 오류 발생 질문드립니다
0
63
2
값의 교환에 사용되는 변수의 위치.
0
88
2
메모리 비교에 관한 질문
0
81
2
C, C++
0
89
2
문자열 입출력 코드 에러
0
60
2
선생님! 120화 2분 50초 질문입니다.
0
67
1
caller 가 메모리 할당 해제를 할 때의 문제점 질문
0
64
2
단축키 맞는지 여부 문의드립니다.
0
61
2
문자열을 사용하는 이중 포인터에 대하여 질문합니다
0
66
1
char 포인터 변수의 크기에 대하여 제가 이해한 것이 맞을까요
0
78
2
용어 설명 필요
0
57
2
stdin, stdout
0
71
2
필수 실습 (최댓값을 반환하는 함수)
0
93
2
아......ㅠㅠ
0
100
2
버퍼 내 엔터
0
73
1
2진수 뺄셈에서 carry-out
0
112
2
union 식별자는 실무에서 보통 어디에서 사용하나요?
0
80
2
필수실습문제 공부법 (진도 vs 복습)
0
104
2
예제파일 다운로드
0
79
2
Visial Studio Code 를 설치해서 사용해도 수업을 따라가는데 지장이 있나요?
0
120
3
연산자 기본이론 강의 질문
0
62
2





