1.
- struct xxx{
- int a,
- int b
- };
-
- struct xxx t;
上面这样创建结构体,初始化时必须加上struct
- typedef struct{
- int a,
- int b
- }xxx;
-
- xxx t;
这样创建结构体,初始化时没有struct
- typedef struct _wkeDialogOptions {
- int magic; // 'mbdo'
- utf8* title;
- utf8* defaultPath;
- utf8* buttonLabel;
- wkeFileFilter* filters;
- int filtersCount;
- wkeDialogProperties prop;
- utf8* message;
- BOOL securityScopedBookmarks;
- } wkeDialogOptions;
-
-
- wkeDialogOptions t;
- struct _wkeDialogOptions t1;
这样建立结构体,可以有这两种定义结构体变量的形式。
参考:
结构体定义 typedef struct 用法详解和用法小结_typdef结构体-CSDN博客
2.
C语言指针进阶(一)——深入详解“函数指针”与“指针函数”-CSDN博客
- int maxValue (int a, int b) {
- return a > b ? a : b;
- }
-
- int (*p)(int, int) = NULL; //定义一个与maxValue兼容的指针
- p = maxValue;
- p(20, 45); //通过指针调用
int (*p)(int,int)=NULL;
定义了函数指针p;
常见的函数指针:
- int (*p)(int,int) //有参数,有返回值的函数
- void (*p)(int,int) //有参数,无返回值的函数
- void (*p)() //无参数,无返回值的函数
- void (*p)(void)
int(*)(int, int) 这个类型用FUNC来简短表示
- typedef int(*FUNC)(int, int);
- //这就相当于自定定义一个 “类型 对象” 的转换
- //等价于 int(*)(int, int) 这个类型用FUNC来简短表示
类推知:
- typedef wkeDownloadOpt(WKE_CALL_TYPE* wkeDownloadInBlinkThreadCallback)(
- wkeWebView webView
- );
-
-
- 等价于定义一个wkeDownloadInBlinkThreadCallback代表
- wkeDownloadOpt(*)(wkeWebView webView);类型
-
- wkeDownloadOpt是返回值类型。