티스토리 뷰
typedef 함수포인터 사용
지난번에 이야기한 struct의 typedef을 사용한 바와 같이typedef은 데이터 타입에 대해서 따로 별명을 붙여서 주어 간편하게 쓰는데 목적이 있다고 했다.그럼 함수포인터에 대해서 typedef을 쓰는이유는? 당연히 간편하게 쓸려고 그런거다.
우선 함수포인터의 쓰는 방법 부터 보자.
int test(int num){
printf("input num is %d.\n", num);
}
int main()
{
int (*testptr)(int);
testptr = test;
testptr(100);
}
위의 코드에서와 같이 호출하고자 하는 함수 이름 대신에 별표(*) 포인터변수를 적어주면된다.
리턴타입 + (* 함수포인터 변수) ( 함수 인자 타입, .... )
그럼 왜 typedef 함수 포인터를 선언하는가?
예제에서와 같이 int (*testptr)(int); 식으로 적어서 함수포인터 변수를 선언하면 되는데매번 이런식으로 적으면 코드가 길어지기도 하지만 뭔가 눈에 쏙쏙들어오지 않는다.보통 변수타입 + 변수명 으로 선언을 하기 때문에 그렇다. 그래서 아래와 같이
typedef int (*TestFuncPtr)(int);
이런 식으로 선언을 해놓고 아래와 같이 쓰면 보기에도 좋고 간편하니 보통 이렇게 쓴다.
TestFuncPtr testptr;
정리
함수포인터를 typedef 선언해서 쓰는 이유는 보기 쉽고 간편해서이다.
typedef int (*TestFuncPtr)(int); // 선언
TestFuncPtr testptr; // 사용
'잉고래의 코딩' 카테고리의 다른 글
파이썬(Python)의 with ... as 문 쉬운이해 (0) | 2013.05.10 |
---|---|
윈도우 vi 에디터 vim 컬러스킴(colorscheme) 색상 변경 방법 (0) | 2013.05.06 |
typedef struct와 struct의 차이는? (4) | 2013.05.06 |
프로세스, 태스크, 스레드의 차이점이 뭘까? (0) | 2013.05.03 |
파이썬 프로그래머인가? 그럼 스위트를 알아두자. (0) | 2013.05.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- X1 DASH
- 아이나비 탭 xd9
- 아이나비 탭 XD11 Pro
- 팅크웨어
- 소니 핸디캠
- 소니 캠코더
- 블랙박스
- 소니
- 아이나비 Tab XD9
- c언어
- 파빌리온 X2
- cc2530
- Sony
- 독후감
- qxd1000a
- 독서
- 한빛미디어
- SM5
- 박근혜
- 소니 AXP35
- 서평
- 아이나비
- CSS
- AXP35
- 아이나비 태블릿
- 아이나비 패드
- HP Pavilion x2
- 티스토리
- 캠코더
- 블로그
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함