C를 특히 두 번 포인터로 이해하려고하는데이 문제가 발생했습니다. 나는 하나의 포인터 (for 루프를 제거하는 등)이 개념은 작동하지만, 내가 찾은 코멘트에서 seg 오류를 얻는 것 같다.C - 함수 내에서 이중 포인터에 값 지정
누군가 내가 왜이 오류가 발생하는지 설명 할 수 있습니까? 내가 전에 myArgs의 주소를 전달하기 전에 그것에 대한 약간의 메모리를 할당해야하지만 나는 단지 얕은 복사를하고있어, 메모리를 할당해야합니까 직감이나요?
void readArgs(int argc, char *argv[], char ***myArgs) {
int i;
for(i = 0; i < argc; i++) {
/* crashes here @ i = 0 */
*myArgs[i] = argv[i];
}
}
int main(int argc, char *argv[]) {
char **myArgs;
int i;
readArgs(argc, argv, &myArgs);
for(i = 0; i < argc; i++)
printf("arg[%d]: %s\n", i, myArgs[i]);
}
[this] (http://pw1.netcom.com/~tjensen/ptr/pointers.htm) 자습서를 읽는 것이 좋습니다. – PALEN