摘要:
下面再举几个例子区分函数类型和函数指针类型。首先定义函数类型F:typedef int F(void);这种类型的函数不带参数,返回值是int 。那么可以这样声明f和g:F f, g;相当于声明:int f(void);int g(void);下面这个函数声明是错误的:F h(void);因为函数可以返回void 类型、标量类型、结构体、联合体,但不能返回函数类型,也不能返回数组类型。而下面这个函数声明是正确的:F *e(void);函数e返回一个F *类型的函数指针。如果给e多套几层括号仍然表示同样的意思:F *((e))(void);但如果把*号也套在括号里就不一样了:int (*fp)( 阅读全文
posted @ 2013-03-24 16:59
bigbigtree
阅读(1381)
评论(0)
推荐(0)
摘要:
GNU make 的官方手册建议这样写:all: mainmain: main.o stack.o maze.ogcc $^ -o $@clean:-rm main *.o.PHONY: cleansources = main.c stack.c maze.cinclude $(sources:.c=.d)%.d: %.cset -e; rm -f $@; \$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \rm -f $@. 阅读全文
posted @ 2013-03-24 09:29
bigbigtree
阅读(389)
评论(0)
推荐(0)