书上说数组都是以传地址的方式进行参数传递的。为什么A,B的输出不同?结构体数组变量s[1]
作为参数和结构体变量成员s作参传递的都是数组,为什么输出不同?
A:#include
#include
typedef struct {char name[10];} STU;
void fun(char name[10])
{
strcpy(name,"sun");
}
int main()
{
STU s={"qian"};
fun(s.name);
printf("%s",s.name);
}
output:sun
B:
#include
#include
typedef struct {char name[10];} STU;
void fun(STU t)
{
strcpy(t.name,"sun");
}
int main()
{
STU s[2]={"qian","zhao"};
fun(s[1]);
printf("%s",s[1].name);
}
output:zhao