data
type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
在C语言中,定义一个结构的一般形式为:
struct结构名
{
//成员表列
}
成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符 成员名”。成员名的命名应符合标识符的书写规定。例如:
struct stu
{
int num
char name[20]
char sex
float score
}
在这个结构定义中,结构名为stu,该结构由4个成员组成。 第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。 应注意在括号后的分号是必不可少的。
然后,当结构定义完成后,即创建了一种数据类型,可以像int、float等内置类型一样使用,以上面定义的stu结构体来和int类型对比着看。
int a//定义一个int类型的变量a
stu a//定义一个stu类型的变量a
int *p//定义一个int类型的指针p
stu *p//定义一个stu类型的指针p
int a[10]//定义一个int类型的数组a,它有10个元素,每个元素是int类型
stu a[10]//定义一个stu类型的数组a,它有10个元素,每个元素是stu类型。
data是你定义的一个结构类型(类似于int),DT是一个data的变量(类似于int i)。p是一个指针,用于指向一个data变量。data的定义常见于单链表的节点结构,包含数据和指针两部分内容。数据当然是用来保存数据的,而指针用于把一个一个的节点串起来,在逻辑上形成一个链表