1. 在 [不完全类型] 一文中,描述了C中的3大数据类型,即: 函数类型、对象类型和不完全类型, 这里再次引用这张图来进行“函数类型”的讲解。
可以看到,函数类型是对立于其他的类型的,它不像“对象类型和不完全类型”,可以延伸(或是派生)出其他对象,或是包含一子系列。似乎从类型家族中脱离出来而独树一帜。函数类型也是一种派生类型,其中的“参数(类型)”是它的属性。然而 C 中是不存在“函数类型的变量”的, 因为函数类型不是对象类型,它没有特定的长度。同时无法用 sizeof 来获取某个函数的长度。
示例代码1 (Linux环境, gcc编译)