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