C 포인터 관련 질문입니다~
뭘봐요
2023.04.01
포인터 관련 질문입니다. 아래의 선언되어 있는 것이 포인터 인지 포인터 배열인지 개념이 잡히지 않아 질문 드립니다.
char (*(*k)[2])();
제가 판단하기에는 위의 선언이
반환 값이 char고 인자값이 void인 2차원 배열 함수포인터를가리킬 수 있는함수 포인터(?)라고
생각 되는데요 아닌 것도 같고. vc 컴파일러에선 전혀 오류가 나타나지는 않는데 어떤 선언인지 몰라서
정확히 사용을 못하겠습니다. 아시는 분은 조언좀 해주시면 감사하겠습니다.
-
꽃큰
저도 그게 궁금합니다 ... char(*k(void))[2] 이렇게 될때 ...
-
잉간
아녀 쓰는데는 없을 듯합니다. 다만 포인터의 개념적인 부분을 익히는 도중에 찾아봐도 저런 설명에 관한 것이 없어서요. 말씀하신대로 char (*k[2])(); 은 반환형이 char이고 인자 값이 void의 형식을 취하는 함수 포인터를 배열로 선언한 것이지요. 근데 저 괄호랑 []의 위치에 따라서 의미가 확 바뀌는데 저것은 이해가 안되네요. char *(*k())[2]; 이렇게 써있으면 이해가 되는데 위의 [] ()의 위치가 바뀌니까 전혀 다른 선언이 되
-
딥체리
어렵네요. 이거 실제로 쓰는데가 있나요?
char (*k[2])(); 라면 리턴형이 char형인 함수를 포인팅 할수 있는 2개의 함수포인터를 선언한 형태인데요.
질문한거는 생각해봐야 할듯요. 바로 생각이 나지는 않네요.