2013-10-10 2 views
0

내가이해 문자 배열 초기화 동작

char array[28] = "\19TTTxxxxxxx Protocol\x00\x00\x00\x00\x00\x00\x00\x00"; 

을 다음 그러나 위의 진술은 "초기화 문자열이 너무 오래"그 경고를 제공으로하는 나는 문자 배열을 초기화하고 프로그램을 쓰고 있어요. 하지만 \20으로 변경하면 경고가 표시되지 않습니다.

누군가 무슨 일이 일어날 지 설명 할 수 있습니까?

답변

2

"\20"은 8 진수 값이 020 인 단일 문자입니다. "\19"은 두 문자로, 첫 번째 문자는 8 진수 값 01이고 두 번째 문자는 '9'입니다.

9는 8 진수가 아닙니다.

+0

자세한 내용은 ** 6.4.4.4 문자 상수 ** 섹션을 참조하십시오. –