码迷,mamicode.com
首页 > 编程语言 > 详细

《你必须知道的495个C语言问题》读书笔记之第2章:结构、联合和枚举

时间:2016-03-11 20:32:37      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

1. Q:下面两个声明有何区别?

struct x1 {...};
typedef struct {...} x2;

    A:第一种形式声明了一个“结构标签”,第2种形式声明了一个“类型定义”。前者在声明结构的实例时必须使用struct关键字,如"struct x1 a;",后者则不需要使用struct关键字,如"x2 b;"。但这个区别在C++编译器和某些模仿C++的C编译器中已经完全不存在了,在C++中结构标签在本质上都自动声明为类型定义。

2. Q:在C语言中是否有模拟继承等面向对象程序设计特性的好方法?

    A:把函数指针直接加入到结构中就可以实现简单的“方法”。你可以使用各种不雅而暴力的方法来实现继承,例如通过预处理器或让“基类”的结构作为初始的子集,但这些方法都不完美。另外,也没有操作符的重载和覆盖。

 

《你必须知道的495个C语言问题》读书笔记之第2章:结构、联合和枚举

标签:

原文地址:http://www.cnblogs.com/wuhualong/p/ReadingNote_C_Programming_FAQs_Chap2.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!