C语言 | 每日基础
Posted C语言入门到精通
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 | 每日基础相关的知识,希望对你有一定的参考价值。
古代的剑客们与
对手相逢时,无
论对手多么强大,
明知不敌,也要亮出自己的剑!
读者:声明 struct x1 { ...}; 和 typedef struct { ...} x2; 有什么不 同?
阿一:第一种形式声明了一个 “结构标签”; 第二种声明了一个 “类型定义”。主要的区别是在后文中你需要用 “struct x1” 引用第一种, 而用 “x2” 引用第二种。也就是 说, 第二种声明更像一种抽象类新 —– 用户不必知道它是一个结构, 而在声明它的 实例时也不需要使用 struct 关键字。
读者:在 C语言中实现抽象数据类型什么方法最好?
阿一:让客户使用指向没有公开定义的结构类型的指 针是一个好办法。只要不访问结构成员, 声明和使用 “匿名” 结构指针 (不完全结构类型指针)是合法的。这也是使用抽象数据类型的原因。
读者:在 C语言中是否有模拟继承等面向对象程序设计特性的好方法?
阿一:把函数指针直接加入到结构中就可以实现简单的 “方法”。你可以使用各种不 雅而暴力的方法来实现继承, 例如通过预处理器或含有 “基类” 的结构作为开始的 子集, 但这些方法都不完美。很明显, 也没有运算符的重载和覆盖 (例如, “导出类” 中的 “方法”), 那些必须人工去做。显然的, 如果你需要 “真” 的面向对象的程序设计, 你需要使用一个支持这些 特性的语言, 例如 C++。
小编二维码
长按/加好友
- END -
____
______
________
____
______
________
以上是关于C语言 | 每日基础的主要内容,如果未能解决你的问题,请参考以下文章