[C] C언어의 문법중에서...
글쓴이: jinyeoulman / 작성시간: 월, 2004/07/26 - 2:56오후
qmail소스 분석중 아래의 구조체 표현중에서
int (*op)();
이런표현은 어떤 의미를 갖고 있는지요...
제가 C언어는 거의 초보여서요. 구찮으시더라도 답변 부탁드립니다.
typedef struct substdio {
char *x;
int p;
int n;
int fd;
int (*op)();
} substdio;
Forums:
인자는 없고 정수를 리턴하는 함수의 포인터를 구조체의 멤버로선언한 겁
인자는 없고 정수를 리턴하는 함수의 포인터를 구조체의 멤버로
선언한 겁니다..
Life rushes on, we are distracted
답변 감사합니다.
답변 감사합니다.
인자가 있을 수도 있습니다. 인자가 없다면 void라고 썼겠죠.C
인자가 있을 수도 있습니다. 인자가 없다면 void라고 썼겠죠.
C++과 C 언어의 차이죠.
Re: C언어의 문법중에서...
명칭이 op인데 op에서 가장 가까운 순서대로 우선순위에 입각해서 읽습니다.
포인터보다는 배열과 함수의 우선순위가 높기 때문에 괄호를 쳐두지 않은 int *op(); 였다면 함수부터 읽어야 합니다. 하지만 괄호가 (*op)라고 쳐져 있기 떄문에 *부터 읽어서 pointer to 그리고 함수를 읽어서 function returning 그리고 마지막으로 자료형인 int를 읽어서 다음과 같이 됩니다.
pointer to function returning int 입니다. int를 리턴하는 함수의 포인터죠.
- 죠커's blog / HanIRC:#CN
qmail 소스 분석하시는군요?저도 전에 좀 본적이 있었는데,
qmail 소스 분석하시는군요?
저도 전에 좀 본적이 있었는데,
기본적으로 잘 짠것 같다는 생각이 들긴 하지만,
거의 함수별로 파일이 있어서, 파일수가 너무 많다는 ..
VENI, VIDI, VICI - Caesar, Gaius Julius -
[quote="dangsan49"]qmail 소스 분석하시는군요?저도
제가 정말루 초보라서여 잘짰는지는 잘 모르겠습니다.
하지만 같이 일하는 사람 말루는 광역변수를 마주잡이로 써서
자기는 별루 안 좋아한다는군요...
그리고 초보라서 그런지는 모르겟지만 가독성이 덜어지는듯한
느낌을 받앗습니다. 오픈소스라서 그런건지 아님 원래 이 정도규모의
프로그램은 다 그런건진 모르겟지만 우선은 넘 읽기 힘들군요.
[quote="jinyeoulman"][quote="dangsan49"]
qmil 소스를 보고 있으면 설계단부터 계획이 참 잘 되어있구나..란 생각이 듭니다.근데 거의 함수별로 소스 파일이 하나씩 있어서 첨 소스파악할땐 귀찮죠..
vim+ctags를 사용하면 소스 파악하는데 훨씬 수월할거 같네요..
혹시 아직 ctags안써보셨음 한번 써보심이...ㅋ
http://kltp.kldp.org/stories.php?story=02/04/18/8009516
인간에게 있어 열정은 둘도없이 소중한 것이다. 경력이나 학력보다도... - 월리엄 록펠러 1세 -
댓글 달기