안녕하세요. 궁금증연구소 입니다.
오늘 포스팅 주제는 "c언어 0, '0' , '\0' 의 차이는?" 입니다.
#include <stdio.h>
#include <string.h>
main()
{
char be[10] = "123456";
*be = 'A';
be[1] = 'B';
*(be+2) ='C';
be[3] = 0 ;
puts(be);
}
위와 같은 문자열배열이 있다고 하면, 배열의 값 각각은 위와 같이 변경을 해줄수 있다.
이때 puts 함수는 문자열 배열의 첫째 주소값(포인터)을 매개변수로 받는다. 출력해야할 개수를 인자로 넘겨주지 않아도
출력이 가능한 이유는 문자열 배열의 끝에 0이 들어가기 때문이다.
이때 0은 숫자 0을 의미한다. 따라서 위와같이 be[3] 에 0을 넣어주면 출력은 ABC까지만 되고 끝이 난다.
만약 숫자 0이 아닌 문자열 '0'을 넣어주면 어떻게 될까?
ABC056 와같이 출력될 것이다.
즉 문자열의 끝을 표시하는 0은 숫자0을 의미한다. 숫자 영은 '\0' 와 같은 의미이다. 0이 더 편하므로 0으로 써야겠다.
[c언어] 포인터와 배열을 같이 쓸때 주의 (0) | 2022.07.18 |
---|---|
리눅스 변수 사용 주의할점~! (0) | 2022.07.12 |
linux 리눅스 redirection(<>) 기능 정리 (0) | 2022.06.28 |
linux Nesting Commnd 명령어 사용법 (0) | 2022.06.27 |
리눅스linux bash셸 메타문자 의미 제거 (0) | 2022.06.26 |