c语言构造类型有哪三种