왜 argv
"배열의 첫 번째 색인에 대한 포인터"( char* argv
) 가 아니라 "배열의 첫 번째 색인에 대한 포인터"로 선언 됩니까?
여기서 "포인터에 포인터"라는 개념이 필요한 이유는 무엇입니까?
char* argv[]
공간을 잘못된 곳에 넣습니다. 말 char *argv[]
, 지금은이 수단 "표현이 분명하다 *argv[n]
유형의 변수입니다 char
." 포인터와 포인터에 대한 포인터 등을 해결하려고 시도하지 마십시오. 선언은이 작업에 대해 수행 할 수 있는 작업 을 알려줍니다 .
char * argv[]
비슷한 C ++ construct와 정신적으로 비교 std::string argv[]
하면 구문 분석이 더 쉬울 수 있습니다. ... 그냥 실제로 시작하지 않는 작성 그런 식으로!
char &func(int);
를 들어 &func(5)
type을 만들지 않는 것을 가질 수 있습니다 char
.
char* argv[]
또는에 대한 올바른 설명이 아닙니다char**
. 그것은 캐릭터를 가리키는 포인터입니다. 특히 외부 포인터는 배열의 첫 번째 포인터를 가리키고 내부 포인터는 널 종료 문자열의 첫 문자를 가리 킵니다. 여기에 관련된 인덱스가 없습니다.