美文网首页
c语言之两个结构体中含有指向对方的指针成员

c语言之两个结构体中含有指向对方的指针成员

作者: 窗前的樱花 | 来源:发表于2018-06-25 11:49 被阅读0次

最近在看linux-0.11源码,发现struct task_struct和struct m_inode各有一个指向对方的指针作为成员,当时觉得很矛盾,于是写了代码验证。


#include<stdio.h>

struct A;

struct B

{

struct A *a;

int bb;

};

struct A

{

struct B *b;

int aa;

};

int main()

{

struct A AA;

struct B BB;

BB.a = &AA;

AA.b = &BB;

//BB.a->b->a->b->bb = 1;

BB.bb = 2;          //这里和下面要输出的其实是一个变量

printf("%d\n", BB.a->b->a->b->bb);

return 0;

}


编译运行都没有错误,输出结果是2。也就是说,这样写是合法的,而且可能会造成循环。

相关文章

  • c语言之两个结构体中含有指向对方的指针成员

    最近在看linux-0.11源码,发现struct task_struct和struct m_inode各有一个指...

  • C语言基础 之 链表基础

    结构体 利用结构体构成链表 结构体中含有可以指向本结构体的指针成员 当一个结构体中含有一个或多个成员的基本类型就是...

  • 7.C语言 结构体

    结构体所占存储空间必须是最大成员所占字节数的倍数 指向结构体的指针 利用指针访问结构体的成员 (*p).成员名称 ...

  • 1.2.09_C++ 指向类的指针

    C++ 类 & 对象 一个指向 C++ 类的指针与指向结构的指针类似,访问指向类的指针的成员,需要使用成员访问运算...

  • C++ 指向类的指针

    原文地址:C++ 指向类的指针 一个指向 C++ 类的指针与指向结构的指针类似,访问指向类的指针的成员,需要使用成...

  • c语言 2018-05-29

    c语言文件结构 (-> and .) 定义结构体指针,访问成员时就用->定义结构体变量,访问成员时就用.例如:ty...

  • C指针,结构体

    让你不再害怕指针——C指针详解(经典,非常详细) 结构体 struct的成员对齐问题-结构体实际大小问题

  • C语言里的循环链表

    定义几个结构体,每个结构体里面包含俩个成员,一个整型变量,一个指针变量。让一个结构体里的指针变量指向另一个结构体...

  • iOS 底层探索-类

    一、类的结构体 1.类的本质 在OC中,类是一个指向objc_class结构体的指针。 包含isa指针、成员变量列...

  • iOS runtime学习笔记

    一、对象 id 1,id是指向objc_object结构体的指针变量,objc_object结构体中首个成员是Cl...

网友评论

      本文标题:c语言之两个结构体中含有指向对方的指针成员

      本文链接:https://www.haomeiwen.com/subject/pvzeyftx.html