여기 정말 간단한 C 프로그램의 충돌 유지하고 충돌하는 이유는 단지 알아낼 수 없습니다 :동적 배열 코드는
int main() {
size_t argc = 2;
char **argv = malloc(argc * sizeof(char *));
for (int i = 0; i < 20; i++) {
if (i >= argc) {
argc *= 2;
argv = realloc(argv, argc);
}
argv[i] = strdup("hello world!");
}
for (int i = 0; i < 20; i++) {
printf("argv[%d] = \"%s\"\n", i, argv[i]); // it crashes on this line
free(argv[i]);
}
free(argv);
}
지원 질문 :( –