C언어 char 형 포인터를 사용하여 문자열을 계속 붙이고 싶어요

na1bbadda의 이미지

malloc과 realloc을 써야 할 것 같은데..
realloc을 쓰는 방법이 많이 애매 합니다
문자열이 계속 들어오면
그 문자열들을 계속 이어 붙이는 식으로 만들고 싶어요

char* p = (char *)malloc(sizeof(char)*10)
scanf("%s",&a);
strcat(p,a);
 
...
 
이렇게 되어서 p의 메모리가 꽉차면.. realloc으로 
바꾸어 주어야 하는 것 같은데..
realloc 도 반복문 안에 두어야 할 것 같고
답변 주시면 감사하겠습니다.