53.7
, 김 현우님이 작성struct Person {
char name[30];
int age;
};
int main()
{
struct Person *p[5];
for (int i = 0 ; i < sizeof(p) / sizeof(struct Person *); i++)
{
p[i] = malloc(sizeof(struct Person));
}
scanf("%s %d %s %d %s %d %s %d %s %d",
&p[0]->name, &p[0]->age,
&p[1]->name, &p[1]->age,
&p[2]->name, &p[2]->age,
&p[3]->name, &p[3]->age,
&p[4]->name, &p[4]->age
);
scanf를 만드는중 &를 안쓰니 오류가있던데.. 포인터에서 사용하는건데 왜 &를 붙여야하는거죠..?& 사용하는거좀 어떤경우에 사용하는지 구분해주실수있나요..? 전에 scanf에서 포이터를 받을떄는 &를 사용하지않았거든요..
회신: 53.7
, 도장_ 관리자님이 작성p[0]->name이 가리키는 건 char name[30]인 배열이므로 &를 안 붙여도 됩니다.
p[0]->age가 가리키는 건 int age이므로 int형이고, 숫자 입력에는 &를 붙여야 합니다.