int i,j;
char *p[3];
char str1[4]="qwe",str2[4]="asd",str3[4]="zxc";

for(i=0 ; i<3 ; i++){
p[i]=(char*)malloc(sizeof(char)*5);
}
strcpy(p[0],str1);
strcpy(p[1],str2);
strcpy(p[2],str3);

for(j=0 ; j<3 ; j++){
p[j]=(char*)realloc(p[j],sizeof(char)*7);
}
strcpy(p[0],str1);
strcpy(p[1],str2);
strcpy(p[2],str3);

じゃあこれなら?