记录是计算机科学中的专业术语,其实在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)上面四种记录的初始化各具风格,根据自身需要来使用