解读 C 语言中复杂类型的秘诀

C 语言虽然没有强大的现代编程模型,缺少面向对象工具,也没有函数式编程。但是 C 在自定义复杂类型的能力方面,丝毫不逊色于任何其他编程语言。 我们来试水几个复杂类型的定义,看看你能不能准确的识别这是什么类型? 数组int a[3]这很简单,是一个具有三个 int 元素的数组 int (a[3])[4]第一眼能看出来吗? 没错,这就是普通的二维数组,等价于 int a[3][4] 声明,现在你可能已经看出来了,C 在自定义类型上具有意想不到的灵活性。 我们继续…… int *a[3][4] ,int *(a[3][4]) 和 int (*a[3])[4] 三者有什么区别吗?前两者是相同的,第三个表达式则有所不同,…