내가 모두 보았다C : 문자열 배열을 올바르게 선언하는 방법?
const char* arr = {"foo", "bar"};
및
const char* arr[] = {"foo", "bar"};
올바른 일반적으로 표준 방법은 무엇입니까?
둘의 차이점은 무엇입니까?
const char**arr = {"foo", "bar"};
및
const char* arr[] = {"foo", "bar"};
및
const char* * const arr = {"foo", "bar"};
및
const char* const * const arr = {"foo", "bar"};
,691 차이가 무엇
많은 질문에 사과 드리며, 더 나은 것을 이해하려고 노력 중입니다 ...
이전 코드에서는 다음과 같이 표시됩니다. const char ** arr = { "foo", "bar", NULL}; 그냥 괜찮아요. – dmckee
이전 코드에서 수정이 필요하다고 제안한다면 const char *가 "foo"를 가리키는'arr' (const char **)을 초기화하고 여분의 초기화 도구를 버립니다. "경고 : 호환되지 않는 포인터 유형에서 초기화"및 "경고 : 스칼라 초기화 프로그램에서 초과 요소" –
이것은 C 및 C++가 다른 한 영역입니다. C에서 문자열 리터럴은 "array N of char"가 아니라 "const char의 배열 N"유형입니다. –