c语言中关于结构体类型的定义

Python025

c语言中关于结构体类型的定义,第1张

struct在C语言中是一个关键字,用于定义结构数据类型。

问题中的两种定义的区别在于第一种是给student数据类型,重新定义了一个类型别名,而第二种则单纯的表示一种叫做student的数据结构类型。两者的主要区别在于后面直接定义变量时。如下代码,则可以直接在结构体后面定义一个zhang_san的结构体变量。

struct student

{

int num

struct student *next

}zhang_san

而第一种的定义,则会出现错误。

typedef struct student

{

int num

struct student *next

}student zhang_san

扩展:

“结构”是一种构造数据类型,现在一般叫做用户自定义数据类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 结构即是一种“构造”而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义一样。

定义一个结构的一般形式为:

struct结构名

{

//成员表列

}

成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符 成员名”。成员名的命名应符合标识符的书写规定。例如:

struct stu

{

int num

char name[20]

char sex

float score

}

在这个结构定义中,结构名为stu,该结构由4个成员组成。 第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。 应注意在括号后的分号是必不可少的。

数据类型是编程语言中为了对数据进行描述的定义,因为对于机器不能识别数据,而不同数据间的相互运算,在机器内部的执行方式是不一样的.这就要用户先定义数据的特性再进行其它操作.这里的特性也就是数据类型.

常见的数据类型有:

int 整型 double双精度浮点型 float浮点型

char 字符型 long 长整型......