记录是计算机科学中的专业术语,其实在C语言中是struct(结构),它是用来自定义各种复杂数据类型的, 它的成员可以是各种基本数据类型,也可以是其它复杂类型,如数组,记录,甚至是自身的引用。它的声明和初始化很灵活,示例如下:
/* emp.c --- * * Filename: emp.c * Description:练习记录(结构)的声明和定义 * Author: magc * Maintainer: * Created: 六 7月 28 06:47:55 2012 (+0800) * Version: * Last-Updated: 一 7月 30 07:06:04 2012 (+0800) * By: magc * Update #: 48 * URL: * Keywords: * Compatibility: * */ /* Commentary: * * * */ /* Change Log: * * */ /* Code: */ #include <assert.h> #include <ctype.h> #include <errno.h> #include <limits.h> #include <string.h> #include <stdarg.h> #include <stdlib.h> #include <stdio.h> typedef char * string; /* 结构声明 此处只是声明出新的数据类型elmpoyeeT,此时并未分配内存,只是产生新的类型。 */ typedef struct{ string name; string title; double salary; int whithholding; } elmpoyeeT; int main(int argc, char * argv[]) { //初始化方式1 static elmpoyeeT emp1={ "wangy","tianjin",2300,2 }; //初始化方式2 elmpoyeeT emp3 ={ name:"mama",title:"tu",salary:1000,3 }; //初始化方式3 elmpoyeeT emp4={ .name="wangwang", .title="shangdong", .salary=5000, .whithholding=6 }; //初始化方式4 elmpoyeeT emp; emp.name = "yangyang"; emp.salary=4500; emp.title = "Huitailang"; emp.whithholding = 10; } /* emp.c ends here */
注:
1)通过typedef 关键字的声明,只是产生新的类型,并且给予内存的分配,如上面。
2)上面四种记录的初始化各具风格,根据自身需要来使用