黑马程序员技术交流社区

标题: 关于typedef struct A *B;这句的疑问? [打印本页]

作者: 天之角    时间: 2015-7-12 20:26
标题: 关于typedef struct A *B;这句的疑问?

小弟是Objective-C新人,最近在看一个Sample,对其中的一个定义有点疑惑:

CoreFoundation下有个类CFMachPort,并且查看其API发现有这么一句:

typedef struct __CFMachPort *CFMachPortRef;

我表示疑惑的是“__CFMachPort”是从何而来?为什么多了两个下划线字符作为起始?不是应该这么定义:

typedef struct CFMachPort *CFMachPortRef;

才合理的吗?


typedef struct A *B; 这句话,按我的理解是:为结构体A找一个指针B作为访问变量。


如果这么理解没错的话,那么type struct __CFMachPort *CFMachPortRef就有问题了,结构体__CFMachPort根本不存在呀,找不到它的定义在哪里?


请指教,谢谢。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2