void main()
{
char **p = (char **)malloc(3 * sizeof(char *)); //int p[3];
for (int i = 0; i < 3; i++)
{
p[i] = (char*)malloc(50);
}
for (int i = 0; i < 3; i++)
{
//char buf[50];
char *buf = p[i];
printf("输入字符");
scanf("%s",buf);
//p[i] = buf;
}
p[1] = "改下数据";
for (int i = 0; i < 3; i++)
{
printf("p[%d]有=%d个字节\n", i, sizeof(p[i]));
printf("p[%d]有=%s\n", i, p[i]);
}
system("pause");
}

明显p[i]是指针,,分配50字节也还是4字节,