작성
·
236
0
안녕하세요?
아래 코드의 빨간박스 부분이 char 3개짜리의 포인터를 리턴하는 함수를 FRPTC3라는 식별자로 사용한다라고 해석하면 되는건가요?
안에서 부터 해석하면
1. FRPTC3(), ()가 우선순위가 높으니까 일단 함수이고
2. *FRPTC3(), 포인터에 대한 함수이고
3. 무엇에 대한 포인터냐, char[3]에 대한 포인터이다.
아래에 있는 typedef char(*(*PTFRPTC3)())[3]; 은
1. (*PTFRPTC3), 괄호로 싸여있으니까 일단 포인터이고
2. (*PTFRPTC3)(), 매개변수가 없는 함수에 대한 포인터다.
3. char(*(2번까지의 과정))[3]; 매개변수가 없고 char 3개짜리에 대한 포인터를 반환하는 함수에 대한 포인터다.
결국
1. typedef char(*FRPTC3())[3];은 typedef로 함수를 FRPTC3라는 식별자로 재정의한거고
2. typedef char(*(*PTFRPTC3)())[3];은 typedef로 함수포인터를 PTFRPTC3라는 식별자로 재정의
한건가요?
뭔가 정리가 되는 거 같으면서도 아직은 헷갈리네요.
감사합니다.