상세 컨텐츠

본문 제목

2-3 함수포인터 void(*fp)() 사용

과제

by 근성 2021. 7. 20. 11:13

본문

이번문제는 함수포인터를 void(*fp)()를 사용해서, 패스워드를 올바르게 받았을경우 그 학생의 정보를 출력하고, 틀리게 받을 경우 틀렸다고 출력해주는 것입니다.

 

문제는 간단하지만 메인함수에서는 포인터함수인 fp()만 사용이 가능하다는 조건이 있어서, 기초적이지만 까다로웠습니다.

 

먼저 문제에 접근하기전에 제가 생각하는 포인터의 개념을 설명하겠습니다.

 

제가 생각하는 포인터는 다른 변수의 메모리 주소를 저장하는 개념이고, 쉽게 point한다 가리킨다라고 생각하고있습니다. 

지금은 안쓰고있지만, 제가 18년도에 쓴 포인터관련 글입니다 !

https://blog.naver.com/leejoonh8406/221317770037

 

19기 TIPS 프로그래밍 강좌 3주차-1일

2018-07-02에 19기 TIPS 프로그래밍 다섯번째 강의를 들었습니다. 앞으로 더 노력하겠습니다!! -------...

blog.naver.com

 

그러므로 다른 함수를 만들어주고 포인터함수로 그 함수를 point시키면 된다는 말입니다.

 

비밀번호가 맞는다면 학생정보출력

비밀번호가 틀리면 틀리다고 출력

이렇게 두개의 함수를 생성하고 포인터함수로 가르키게하면 됩니다.

코드는 위와 같습니다.

학생정보는 구조체(class 배우기전)을 이용해서 구성했습니다.

보면 main함수에서는 함수호출은 포인터함수인 fp();로만 이루어진게 확인이 가능합니다.

좌 비밀번호가 맞은경우, 우 비밀번호가 틀린경우

1학년 때, 이후로 처음 포인터함수를 써봐서 그런지 기본적이지만 까다로웠고, 이번 문제를 계기로 기초를 다시 잡아야겠다는 생각을 했습니다.

 

#이 문제의 출처는 kw대학교 컴퓨터정보공학부 2021년 1학기 객체지향 프로그래밍 과제 문제입니다.

'과제' 카테고리의 다른 글

2-5 클래스 선언 후, 문자찾기  (0) 2021.08.04
2-4 9*9행렬을 3*3곱하기로 나눠서 연산  (0) 2021.07.29
2-2 단어장 만드는 프로그램  (0) 2021.07.15
2-1 2차원배열의 행정렬  (0) 2021.07.14
1-8 뱀게임  (0) 2021.07.13

관련글 더보기

댓글 영역