下面两个函数分别采用了什么方式传递参数的?地址还是值
#include <stdio.h>
void display(struct persons *p);
struct names {
char firstname[20];
char middlename[20];
char lastname[20];
};
struct persons{
int number;
struct names name;
};
struct persons person[5] = {
{302039823,{"Dribble","Mackede","Flossie"}},
{345345345,{"gadenfs","Kasdfas","Pszajkh"}},
{302039823,{"Kazsdfj","Aasdfaf","Mjasdfh"}},
{302039823,{"Qaadsef","","Yjsjdsh"}},
{302039823,{"Bsdsdfs","Fsjdsdd","Rshdsdf"}}
};
int main(void)
{
display(person);
return 0;
}
void display(struct persons *p)
{
int i;
for(i=0; i<5; i++)
if (p[i].name.middlename[0] != '\0')
printf("%s, %s %c. -- %d\n",p[i].name.firstname, p[i].name.lastname, p[i].name.middlename[0], p[i].number);
else
printf("%s, %s -- %d\n",p[i].name.firstname, p[i].name.lastname, p[i].number);
}
#include <stdio.h>
void display(struct persons *p);
struct names {
char firstname[20];
char middlename[20];
char lastname[20];
};
struct persons{
int number;
struct names name;
};
struct persons person[5] = {
{302039823,{"Dribble","Mackede","Flossie"}},
{345345345,{"gadenfs","Kasdfas","Pszajkh"}},
{302039823,{"Kazsdfj","Aasdfaf","Mjasdfh"}},
{302039823,{"Qaadsef","","Yjsjdsh"}},
{302039823,{"Bsdsdfs","Fsjdsdd","Rshdsdf"}}
};
int main(void)
{
display(person);
return 0;
}
void display(struct persons *p)
{
int i;
for(i=0; i<5; i++)
if (p[i].name.middlename[0] != '\0')
printf("%s, %s %c. -- %d\n",p[i].name.firstname, p[i].name.lastname, p[i].name.middlename[0], p[i].number);
else
printf("%s, %s -- %d\n",p[i].name.firstname, p[i].name.lastname, p[i].number);
}