详细讲解struct这个容易混淆的写法的书是有的,《C专家编程》中就有详细的描述。可惜大家喜欢问问题有甚于喜欢看书,于是BBS上泛滥着前人早已经解决、说明清楚的问题。哎,中国勤学好问者的悲哀。这里简要说明一下struct,为大家省钱。

/* struct.c
*  本程序演示了struct的种种写法。注意,所有这些写法都能编译通过
*  author: smileonce
*  date  : 2005-01-14
*/// 这种写法是最要命的,但是它却可以通过, 最后面那个foo是结构体的实例
struct foo
{int foo;
} foo;// 有了typedef,意义明显与上面不同,注意的是struct后面那个标签可以不写,最后面那个bar是匿名结构体的别名
typedef struct
{int bar;
} bar;// 这种写法是最没人用的,因为它的定义是一次性的,struct1是一个匿名struct的实例
struct
{int aaa;
} mystruct1;//最常用的写法,清晰不言自明,my_struct_tag是结构体标签,my_struct_type是struct my_struct_tag的别名
typedef struct my_struct_tag
{int aaa;
} my_struct_type;// 下面两种定义的写法都可以,当然使用typedef定义的写法更简洁些
my_struct_type mystruct2;             //通过typedef定义的结构别名来定义变量
struct my_struct_tag mystruct3;       //通过结构标签定义变量int main(int argc, char *argv[])
{return 0;
}

转载于:https://www.cnblogs.com/lishuai0214/p/4199564.html

struct多种声明定义写法的小结相关推荐

  1. 【C语言】结构体定义 typedef struct 用法详解和用法小结

    结构体定义 typedef struct 用法详解和用法小结 文章目录 结构体定义 typedef struct 用法详解和用法小结 0. 前言 1. 首先:在C中定义一个结构体类型要用typedef ...

  2. 结构体定义 typedef struct 用法详解和用法小结

    typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便. 具体区别在于:  若struct node{ }这样来定义结构体的话.在定义 node 的结构体变量时,需要这 ...

  3. 关于版权声明的写法 (转)

    关于版权声明的写法 (转)[@more@] 看了不少朋友的个人网站,有一个小问题,似乎很多朋友都忽略了,那就是版权声明的写法.虽然那只是一小行字,不过作为设计师也好,作为个人的爱好也好,版权的标志都是 ...

  4. 网站制作中关于版权声明的写法

    看了不少朋友的个人网站,有一个小问题,似乎很多朋友都忽略了,那就是版权声明的写法.虽然那只是一小行字,不过作为设计师也好,作为个人的爱好也好,版权的标志都是满重要的. 从法律角度看,加入了伯尔尼公约的 ...

  5. linux sysinfo结构体,编译BusyBox出现错误: struct sysinfo 重定义 该如何解决?

    Busybox 1.13.3和其他的1.16版本都是如此     arm-linux-gcc  version=4.3.3 ====================================== ...

  6. 结构体struct timeval 和 struct timespec的定义

    结构体struct timeval 和 struct timespec的定义均在头文件<sys/time.h>中,具体定义如下: struct timeval {long tv_sec; ...

  7. Java声明定义抽象类_接口_继承_实现

    文章目录 声明定义抽象类 声明定义接口 派生类.抽象类.接口的继承要点 声明定义抽象类 public abstract class CRMSystem {public abstract Client ...

  8. VS2010 error C299: “Font”:“struct”类型重定义

    在VS2010里添加了在VC6.0里形成的OFFICE库文件的类 excel9.h,excel9.cpp,就是我在VC6里做操作OFFICE的表格时候添加的库文件,然后把它们( excel9.h,ex ...

  9. error C2011: “Font”:“struct”类型重定义

    error C2011: "Font":"struct"类型重定义 在VS2008里添加在VC6.0里形成的OFFICE库文件的类 excel.h.excel. ...

最新文章

  1. 嵌入式开发板加载U盘,U盘测试
  2. 水稻微生物组时间序列分析2b-散点图拟合
  3. Linux 构建一些 开机就可以使用的命令
  4. 创建与SharePoint 2010风格一致的下拉菜单 (续) 整合Feature Custom Action框架
  5. 站长图卦:每天坚持搬砖 定有美好明天
  6. 【整理总结】Visual Studio 扩展和更新
  7. 在集群服务器进行自定义数据集训练记录过程 TensorBoard logging requires TensorBoard with Python summary writer installed.
  8. jmap 文件解析_干货分享丨jvm系列:dump文件深度分析
  9. PS图片后期之超简易造光调色方法
  10. linux的基础知识——TCP通信状态
  11. 学习笔记之数据可视化(二)——页面布局(上)
  12. codesys com库_CoDeSys官方系统库在线下载,替换国内下载服务器教程
  13. 2018.9.15,Matlab实验三:字符串、单元数组和结构体
  14. 【转】解决 canvas 在高清屏中绘制模糊的问题
  15. Eclipse调试时Application XXX is waiting for the debugger to attach的提示
  16. redis各项功能解决了什么问题
  17. 微型计算机配置单怎么写,微型计算机的组成和配置.doc
  18. CentOS 6 x86里交叉编译libxml2
  19. mysql的yearweek 和 weekofyear函数
  20. Simple Tips on C++(对于C++的一些建议)

热门文章

  1. 解决nginx下connect() to 127.0.0.1:3000 failed
  2. centos常用网络管理命令
  3. 迷宫问题,手动模拟栈
  4. windowsCE镜像文件结构
  5. 异常的概念和Java异常体系结构
  6. 谷歌pay服务端文档_Google pay 服务器验证
  7. maya python插件_Maya中Python代码插件编译技术视频教程
  8. 为什么使用 Dubbo ? 微服务概述?传统应用的问题?
  9. shell出错test_path: command not found
  10. PHP中对数组进行分页处理的原理及分页实例