일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Programming
- 약어
- 커널
- Golang
- go
- Pointer
- 한빛미디어
- 전처리기
- TiKV
- 포인터변수
- newSQL
- Windows via c/c++
- DBMS
- FreeBSD
- OS 커널
- kernel
- 함수포인터
- 포인터
- UNIX
- DBMS 개발
- getopts
- 구조와 원리
- Preprocessor
- bash
- 긴옵션
- Symbol
- 컴퓨터 강좌
- UNIX Internals
- TiDB
- SQLite
- Today
- Total
목록함수포인터 (2)
sonumb
이번 포인터는 보너스이다. 쪼금은 난해하다. 따라올려면 와도괜찮다. 함수 포인터를 인자로 받고 함수 포인터를 반환하는 함수: p 아 이게 무슨 마른 운영체제에 세그먼트폴트같은 소리인가. 예를 보자. void (*signal(int signo, void (*func)(int) ))( int );위의 함수는 유닉스의 시그널 함수라는 것이다. 시그널함수는 일종의 콜백함수이다..즉 어떤일을 동적으로 처리해달라는 거다. 설명은 그정도로만 하고 , 위의 함수는 조금 `거시기`하다. 일반적으로 return funtion_name( parameter ); 의 문법과는 도통 매치가 되지 않는다. 왜냐하면... 그렇게 만들었기 때문이다. 문법을 만든 Geeks 두분의 생각일 뿐이다.-_-; 하지만!!! 알아보기 좋도록 간..
저번시간에 이어 두번째로 이번에는 함수 포인터를 설명하겠다. 일단 들어가기 전에 두가지 정도 알려줄려고 한다. 첫째 함수 포인터는 어따 써먹는가/ 뭐 용도가 있었으니 커니건,리치옹께서 만들지 않았겠나? (퍽퍽~) 각성하고... 보통, `포인터`가 들어가면 `Dynamic`이란 말과 꽤나 연관이 있어진다. compile-time이 아닌 run-time에 결정을 해야한다는 소리인데.. 그러면 함수랑 연관 시켜 뜻풀이를 시도해보자.. 함수,즉 어떻게 해야할 일이 run-time에 서로 달라져야 한다. 그러면 보통 운영체제랑 연관시켜 보자. Task Switching이 대표적이 예라 할 수 있겠다. ( 솔직히 커널이나 시스템 프로그래밍아니면 응용한 곳이 거의 없다. -_-;). 생각해보자. 커널이라는 프로그램은..