구조체 멤버참조연산자 알려주세요
똥덩어리
질문 제목 : 멤버참조연산자로 입력받기
소스는 밑에 질문내용 참고해주시면되구요~
처음에 marriage m1 이라는 구조체 변수를 만들었습니다. 물론 타입데프를 써서 앞에 스트럭쳐가 생략됬구요
그리고 구조체 포인터변수를 만들었습니다.
그런데 입력받는부분에서 &mp.age or &(mp).name 이 두개를 했을때 자꾸 .name 옆에 구조체/공용체부분이 생략됬다고
나와요.
그리고 mp를 m1으로 수정하니까 바로 되는데
왜그런건지 이유좀 설명해주셨으면합니다!질문 내용 :
marriage m1;
marriage *mp=&m1;
/* 멤버참조연산자*/
printf(이름 :);
scanf(%s,m1.name);//멤버참조연산자
printf(나이 :);
scanf(%d,&m1.age);//멤버참조연산자
printf(성별 :);
scanf( %c,&m1.sex);//멤버참조연산자
printf(키 : );
scanf(%lf,&m1.height);//멤버참조연산자
printf(이름 : %s \n,(*mp).name);
printf(나이 : %d \n,(*mp).age);
printf(성별 : %c \n,(*mp).sex);
printf( 키 : %.1lf \n,(*mp).height);
-
돌심장 2024-04-02
근데 복잡하니 mp-age로 쓰는게 대부분입니다
-
반율하 2024-04-02
주소값을 따오는게 이상하네요
하실려면
*(mp).age로 하셔야죠 -
겨울바람 2024-04-02
&(mp).age로하연 왜 에러나죠?
-
새론 2024-04-02
구조체 변수로 참조시 - 연산자를 이용해야 합니다.