不完整声明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* 方法一   */
struct tag_a{
    struct tag_b *bp;  /* 这里struct tag_b 还没有定义,但编译器可以接受 */
    int value;
};
struct tag_b{
    struct tag_a *ap;
    int value;
};
typedef struct tag_a A;
typedef struct tag_b B;
 
 
/*  方法二   */
struct tag_a;   /* 使用结构体的不完整声明(incomplete declaration) */
struct tag_b;
typedef struct tag_a A;
typedef struct tag_b B;
struct tag_a{
    struct tag_b *bp;  /* 这里struct tag_b 还没有定义,但编译器可以接受 */
    int value;
};
struct tag_b{
    struct tag_a *ap;
    int value;
};

最新文章

  1. entity framework 新手入门篇(1)-建立模型
  2. 用JS识别各版本浏览器
  3. Week3 博客阅读感想和代码复审
  4. Codeforces Round #370 (Div. 2)C. Memory and De-Evolution 贪心
  5. FreeMarker 一二事 - 静态模板的使用与生成
  6. 模拟 Coder-Strike 2014 - Round 1 A. Poster
  7. JS获取上传文件的绝对路径,兼容IE和FF
  8. python工厂方式创建list
  9. Struct2(三) Struct2 标签
  10. Migration data on SQL
  11. jq 滚轮监听事件
  12. SQL Server 查询性能优化——创建索引原则(一)(转载)
  13. Android性能优化之被忽视的优化点
  14. python的array初识
  15. C#隐藏手机号中间四位为*
  16. python----运算符、布尔值
  17. ubuntu部署安装 MySQL 5.7
  18. tornado上传大文件以及多文件上传
  19. 正确理解 LEAL (Load Effective Address) 指令
  20. NYOJ 123 士兵杀敌(四) (线段树)

热门文章

  1. RHEL 6.3安装(超级详细图解教程)[转载]
  2. libpng交叉编译安装
  3. struts中拦截器的开发
  4. Unity安卓连接profile调试
  5. scrollView自动加载数据demo
  6. Microsoft Visual Studio Ultimate 2013 with Update 3 CN+EN
  7. 直接拿来用的10个PHP代码片段
  8. Oracle GoldenGate 12c (12.1.2.0.1) for IBM DB2 iSeries
  9. MySQL语句45道练习题及答案
  10. poj1160 dp