C и указатель на функцию - изменения не сохраняются

У меня есть этот простой код, который, кажется, работает (я проверил с помощью отладчика), но когда выполнение функции заканчивается, строка не сохраняется в исходной переменной.

void getString(char *iText);

int main()
{
    char *inputText=malloc(sizeof(char));
    getString(inputText);
    puts(inputText);
    free(inputText);
    system("pause");

    return 0;
}


void getString(char *iText)
{
    char c;
    int i=0;

    while((c=getchar()) != '\n')
    {
        iText = realloc(iText,sizeof(char)*(i+1));
        iText[i]=c;
        i++;
    }

    iText = realloc(iText, sizeof(char)*(i+1));  
    iText[i]='\0';
}

Когда этот маленький сценарий заканчивается, я вижу некоторые

ε ■ ε ■ ε ■ ε ■ ε ■ ε ■ ε ■ ε ■ ε ■ ε ■ ε ■ ε ■ ▲ יע` *

Если я напишу этот код в своей основной функции, он будет работать, поэтому я предполагаю, что это связано с тем, как я использую указатель в функции.

Ответы на вопрос(1)

Ваш ответ на вопрос