结构体、共用体、指针
2014-12-23 16:43
218 查看
union testc { int ua; char tmp[4]; }; struct testb { int pc; int pd; }; struct testa { struct testb test; struct testb* ptestb; union testc utest; int pa; int pb; }; int main() { struct testa* abuff; int num; abuff = (struct testa*)malloc(sizeof(struct testa)); abuff->test.pd = 10; //结构体中嵌套结构体成员时用'.' abuff->ptestb = &abuff->test; //结构体中嵌套结构体指针成员时用'->'指向被嵌套的结构体指针的成员 abuff->utest.tmp[3] = abuff->ptestb->pd;//结构体中包含共用体时用'.'来指向共用体成员,若共用体中有结构体成员也需要用'.'访问子成员 num = abuff->utest.ua; // }上面的代码是分析结构体中嵌套结构体或共用体时,定义一个结构体指针时怎样指向其结构体或共用体成员,是用'.',还是用'->',我们都知道结构体指针是用'->'来指向其成员的,如果成员是结构体或共用体时会怎样?如果共用体中又包含结构体时会怎样,结构体中包含结构体指针时有会怎样,通过上面的例子,我们可以看出,结构体指针对于其结构中的成员是用'->',而如果其成员为结构体、共用体或结构体指针等形式时,其成员指向他们的成员变量是按照原来的指向方式的,并不受其母体是结构体指针的形式所影响的。
相关文章推荐
- 一些基本知识(一)(结构体,共用体,自定义类型,::,指针)
- 2017.08.13指针小结+自定义数据类型(结构体、共用体、枚举、typeof)理论
- 结构体、共用体、指针
- 结构体与共用体——指向结构数组的指针
- 平台调用P-INVOKE完全掌握, 结构体和结构体指针
- typedef关键字与结构体、结构体指针的定义
- 结构体指针初始化错误
- 结构体变量的指针
- 结构体和共用体合用(struct及union)
- 由已知结构体里的某个成员名及该成员地址获取该结构体指针
- 指向结构体变量的指针
- NSValue包装对象指针,CGRect结构体等
- 黑马程序员 C语言-枚举,结构体,指针
- C语言 结构体相关 函数 指针 数组
- 结构体指针访问结构体数组
- 结构体中的空指针
- 把一个地址强制转换成结构体指针的作用分析
- Delphi 的内存操作函数(3): 给结构体指针分配内存
- 详解C++中的指针结构体数组以及指向结构体变量的指针
- 结构体、共用体