아래 두 코드 조각간에 차이가 있습니까? 하나는 문자 배열이고 다른 하나는 문자 배열 포인터이지만 동일한 동작을 수행합니까?문자 배열 질문 C++
예 1
char * transport_layer_header;
// Memory allocation for char * - allocate memory for a 2 character string
char * transport_layer_header = (char *)malloc(2 * sizeof(char));
sprintf(transport_layer_header,"%d%d",1,2);
예 2
char transport_layer_header[2];
sprintf(transport_layer_header,"%d%d",1,2);
'sprintf' 대신'snprintf'를 사용하는 것이 좋습니다. 전자는 타겟 배열을 오버런하지 않도록 경계 검사를 제공합니다. –
후행 null을 설명하기 위해 2 자 문자열에 3자를 할당해야합니다. –
지적했다. 감사. – halluc1nati0n