구조체포인터를 함수 매개변수방법
핀아
질문 제목 : ptr을 insert_student 함수에 매개변수로하여 구조체student입력방법이 어떻게되나요?질문 내용 :
#include stdio.h
#define max 100
struct a{
char name[5];
int math;
int com;
};
void insert_student(struct a **ptr)
int main()
{
int num;
struct a student[max];
struct a *ptr;
ptr=student;
while(1)
{
printf(1.삽입 2.탐색 3.전체출력 4.종료:);
scanf(%d, &num);
switch(num)
{
case 1:
insert_student(&ptr);
break;
default:
printf(잘못된 선택);
}
}
}
void insert_student(struct a **ptr)
{
printf(이름:);
gets(ptr-name);
}
-
큰모듬
데이터를 넣으려면, 데이터가 들어갈 메모리 공간의 주소를 함수에 전달해야 하겠죠?
student 배열의 특정 요소의 주소를 전달하는 것이 바람직해 보입니다만,
insert_student(student+i); // i 번째 요소에 값을 넣어라
...
void insert_student(struct a *ptr);
형태로 말이죠. -
하루키
insert_student(&ptr); → insert_student(ptr);
void insert_student(struct a **ptr) → void insert_student(struct a *ptr)