可能是在 SO 上找到的类似问题。但是,我没有发现,这是场景
情况1
void main()
{
char g[10];
char a[10];
scanf("%[^\n] %[^\n]",a,g);
swap(a,g);
printf("%s %s",a,g);
}
案例2
void main()
{
char *g=malloc(sizeof(char)*10);
char *a=malloc(sizeof(char)*10);
scanf("%[^\n] %[^\n]",a,g);
swap(a,g);
printf("%s %s",a,g);
}
在这两种情况下我都得到相同的输出。所以,我的问题是我应该什么时候更喜欢malloc()
而不是array
反之亦然,为什么?我找到了通用定义,malloc()
提供了动态分配。所以,这是他们之间唯一的区别??请任何人举例说明,dynamic
尽管我们在malloc()
.