ProgramingTip

왜 \ 0을 C에서 char 배열의 첫 번째 요소로 정의하고 있습니까?

bestdevel 2020. 10. 19. 12:21
반응형

왜 \ 0을 C에서 char 배열의 첫 번째 요소로 정의하고 있습니까?


BlueZ 소스 코드를 읽을 때 char다음과 같이 정의 된 배열을 자주 볼 수 있습니다.

// bluez/android/sco-msg.h
static const char BLUEZ_SCO_SK_PATH[] = "\0bluez_sco_socket";

첫 번째 요소를 다음과 같이 정의하는 것이 무슨 소용이 \0있습니까?


특정 경우 에이 배열은 PF_LOCAL소켓의 경로 이름으로 사용 됩니다.

여기를 참조 하십시오 . 그리고 선행 NUL은 그 주소가 강조되는 주소입니다. 에서 남자 7 유닉스 :

추상 소켓 주소는 sun_path [0]이 널 바이트 ( '\ 0')라는 사실로 구별됩니다.

그리고 이것이 첫 번째 요소가 \0.

참고 URL : https://stackoverflow.com/questions/38304321/why-define-0-as-the-first-element-of-a-char-array-in-c

반응형