C语言类型系统与代码结构详解
1. C语言类型系统概述
在C语言中, _Generic
可用于编写宏,该宏能包装函数调用,并根据参数类型选择不同名称的函数。C语言本身嵌入了几种类型转换,主要包括指针与 void*
之间的转换以及整数转换。不过,C语言没有像Scala的隐式函数或C++的隐式转换那样添加用户自定义类型转换的方法。
C语言以某种形式支持四种类型的多态性。在类型系统的学习中,我们涉及了数组、指针、常量类型等内容。学会创建简单的函数指针,了解了 sizeof
运算符的注意事项,复习了字符串相关知识,还开始养成更好的编码习惯。同时,也学习了结构体、联合体和枚举类型。
下面是一些关于类型系统的常见问题及解答:
| 问题编号 | 问题描述 |
| ---- | ---- |
| 163 | &
和 *
运算符的用途是什么? |
| 164 | 如何从地址 0x12345
读取一个整数? |
| 165 | 字面量 42
是什么类型? |
| 166 | 如何创建 unsigned long
、 long
和 long long
类型的字面量? |
| 167 | 为什么需要 size_t
类型? |
| 168 | 如何将值从一种类型转换为另一种类型? |