【发布时间】:2018-05-08 16:15:38
【问题描述】:
这是我的代码:
我正在尝试通过带有双指针的 void 函数传递字符串。
void modify(char** double_pointer) {
//define a char pointer
char* pointer = malloc(5*sizeof(char));
strcpy(pointer, "test");
printf("%s\n", pointer); //prints test
// point double_pointer to pointer
double_pointer = malloc(sizeof(char*));
*double_pointer = pointer;
printf("%s\n", *double_pointer); //prints test
}
int main() {
//pointer to a pointer
char* double_pointer = NULL;
modify(&double_pointer);
printf("%s\n", *double_pointer); // seg. fault
}
为什么在 main 中打印 *double_pointer 会导致分段错误?
感谢您的回答。
【问题讨论】:
标签: c pointers segmentation-fault