为什么该过程不会更改作为参数传递的指针

时间:2019-03-30 09:57:17

标签: c string pointers malloc procedure

在主作品中复制的过程代码,但由于我不明白为什么它不会更改主作品中的指针

void getInput(char * str) {

    char ch;
    unsigned len = 0;

    str = malloc(sizeof(char*));

    while((ch = getchar()) != EOF && ch != '\n') {
        realloc(str, sizeof(char*) + ++len);
        str[len - 1] = ch;
    }

    str[len] = '\0';
}

int main(void){

    char * str = NULL;

    getInput(str);
    printf("%s", str);
    free(str);

    return 0;
}

当前任何输入都返回NULL输出

0 个答案:

没有答案