标签:
#include <stdio.h> typedef struct _test { void (*pFunction)(); }STest; void display() { printf("hello function\n"); } void main(void) { STest test; test.pFunction = display; test.pFunction(); }
C语言中不像C++能够直接定义函数,以前学习数据结构用的是C++版的数据结构,对C++的新特性没有说明,导致以前一直不知道这个问题。
最近在看linux驱动资料,发现struct全都是使用的函数指针的方式编写,百度之后才知道linux下struct中直接写函数是不能够编译的、
标签:
原文地址:http://www.cnblogs.com/luyufan498/p/5666934.html