如果是char *a;这样定义a;
a=(char*)malloc(N*sizeof(char));就表示从键盘接受一个字符串,并且以a为首地址开始存放字符,
给你个例子,
#include"stdio.h"
#include
#define N 10//表示开辟空间的大小,
void main()
{
char a[10],*b=(char*)malloc(N*sizeof(char));
printf("please input the string a :");
gets(a);
puts(a);
printf("please input the string a :");
gets(b);
puts(b);
}