すいません、質問なのですが、

#include <stdio.h>
void func(char *ch);
int main (void){
int c;
char *ch

printf("名前を入力してください\n");
func(&ch);
printf("入力した名前は%sです\n",ch);
}

void func(char *ch){
int c;
char str[20];
ch = &str;

for(c=0;c<20;c++){
str[c]=getchar();
if(str[c]==0x0A){
str[c]=0x00;
}
}
}

こんな感じで画面から名前を入力して1文字ずつ読み込んで画面に出力したいのですが
メイン関数から関数にポインタを乗せて文字を1文字ずつ入力して出力したいのですがどうやったらうまくいきますでしょうか?
scanfは使わずにgetcharで使いたいです。