C和C++中struct的typedef用法建议

参考文章(建议先读)
根据参考的文章,总结一下:
情况1 C语言中:
typedef struct{
···;
}aaa;
则aaa是struct类的"数据类型",用法:aaa xxx;
情况2 C语言中:
struct aaa{
···;
};
则aaa是struct类的"数据类型",用法:struct aaa xxx;//注意比情况1多了"struct"
情况3 C语言中:
struct {
···;(比如int x;)
}aaa;
则aaa是该自定义数据类型的一个实例(对象),用法:aaa.x=xxx;
情况4 C++语言中:
struct aaa{
···;
};
则aaa是struct类的"数据类型",用法:aaa xxx;//注意注意!定义形式同情况2,但是用法却同情况1!

总结:
结合参考的文章和本篇文章,这四种是比较基本的情况;

建议:不管在C还是C++中,都使用
typedef struct{
···;
}aaa;//用法:aaa xxx;
这一种格式,因为这种定义的定义形式和用法在C和C++中都是相同的!
而且不建议情况3中的直接定义一个实例,容易混淆。

C和C++中struct的typedef用法建议相关推荐

  1. python中struct.unpack的用法

    python中struct.unpack的用法 4/25/2009 12:18:21 PM Python中按一定的格式取出某字符串中的子字符串,使用struck.unpack是非常高效的. 1. 设置 ...

  2. C和C++中struct和typedef struct的异同

    分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可 ...

  3. c语言中的typedef struct相当于java的一个类?,C ++中'struct'和'typedef struct'之间的区别?...

    在C ++中,之间有什么区别: struct Foo { ... }; 和 typedef struct { ... } Foo; #1楼 您不能对typedef结构使用forward声明. stru ...

  4. struct和typedef struct在C与C++中用法

    struct和typedef struct 分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int ...

  5. 关于C++中函数指针的使用(包含对typedef用法的讨论)

    关于C++中函数指针的使用(包含对typedef用法的讨论) (一)简单的函数指针的应用. //形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(in ...

  6. matlab中struct2,Matlab中struct的用法

    struct在matlab中是用来建立结构体数组的.通常有两种用法: s = struct('field1',{},'field2',{},...) 这是建立一个空的结构体,field1,field2 ...

  7. typedef用法小结

    Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法.不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮 ...

  8. wince中的hook(钩子)用法

    wince中的hook(钩子)用法 Hook(钩子)是一种在消息到达目标窗口前进行截获的技术.使用钩子主要使用以下三个函数SetWindowsHookEx:创建钩子 CallNextHookEx:将消 ...

  9. typedef用法(1)

    Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法.不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮 ...

最新文章

  1. Java获取文件路径获取访问路径、域名、项目名、请求入参
  2. apache mesos_在Twitter上使用Apache Mesos和Apache Aurora进行资源调度和任务启动
  3. 获取当前日期时间并格式化 - 常见格式
  4. Eclipse 生成 Jar 包
  5. 析构函数中的virtual是否必要?
  6. 整数与IP地址间的转换
  7. 安卓rom制作教程_Android ROM制作教程-开发必需
  8. ROS会议 ROSCon 2017
  9. TP框架 URL规则重写 Apache配置
  10. MIUI12_Global未知来源安装等待时间patcher
  11. Android Studio 单独启动安卓模拟器教程
  12. LBS计算两坐标的距离
  13. CASthesis 模板编译的问题
  14. NVMe | 热插拔
  15. IE11浏览器缓存bug
  16. 深入学习计算机组成原理,计算机浮点运算详解深入学习计算机组成原理.ppt
  17. google手机等相关产品{时间不同步}最简解决方法
  18. android pie_Android Pie中的新安全功能,以及为什么对它们感到兴奋
  19. 【HTML】之marquee标签的使用和说明
  20. 静态网页的制作——百度

热门文章

  1. SpringBoot配置使用Redis缓存
  2. 【转】移动web资源整理
  3. C++ int 转 char
  4. java程序设计教程与项目_Java程序设计教程与项目实训
  5. vivo2020届春季校园招聘手机屏幕解锁模式
  6. 给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置. 要求:从键盘输入两个字符串,第一个是给定的字符串,第二个是子串。
  7. 【MS二级】word高频考点
  8. 基于Hi3861芯片的鸿蒙开发(二烧录)
  9. MQTT10-MQTT在星辰大海中的应用
  10. erdas查看灰度直方图_ERDAS基本操作(六) —— 图像增强处理.ppt