c语言结构体与链表总结心得,C语言结构体变量与链表知识总结.doc

C语言结构体变量与链表知识总结

结构体与链表

11.1 结构体类型的定义

结构体是由C语言中的基本数据类型构成的、并用一个标识符来命名的各种变量的组合,其中可以使用不同的数据类型。

结构体类型的定义

Struct结构体名

{类型标识符1 成员名1;

类型标识符2 成员名2;

……

类型标识符n 成员名n;

};

Struct结构体名——结构体类型名

关于结构体类型的说明:

“struct 结构体名”是一个类型名,它和int、float等作用一样可以用来定义变量。

结构体名是结构体的标识符不是变量名,也不是类型名。

构成结构体的每一个类型变量称为结构体成员,它像数组的元素一样,单数组中元素以下标来访问,而结构体是按结构体变量名来访问成员的。

结构体中的各成员既可以属于不同的类型,也可以属于相同的类型。

成员也可以是一个结构体类型,如:

Struct date

{

Int month;

Int day;

Int year;

};

Struct person

{

Float num;

Char name[20];

Char sex;

Int age;

Struct date birthday;

Char address[10];

};

11.2 结构体类型变量

11.2.1 结构体类型变量的定义

先定义结构体类型,再定义结构体变量

形式:

Struct 结构体名

{类型标识符1成员名1;

类型标识符2成员名2;

……

类型标识符n成员名n;

};

Struct 结构体名 变量名表;

例如:

Struct student

{char name[20];

Char sex;

Int age;

Float score;

};

Struct student stu1,stu2;

在定义结构体类型的同时定义变量

形式:

Struct 结构体名

{

类型标识符1 成员名1;

类型标识符2 成员名2;

……

类型标识符n 成员名n;

}变量名表;

例如:

Struct student

{

Char name[20];

Char sex;

Int age;

Float score;

}stu1,stu2;

用匿名形式直接定义结构体类型变量

形式:

Struct

{

类型标识符1 成员名1;

类型标识符2 成员名2;

……

类型标识符n 成员名n;

}变量名表;

例如:

Struct

{

Char naem[20];

Char sex;

Int age;

Float score;

}stu1,stu2;

11.2.2 结构体变量的使用

结构体是一种新的数据类型,因此结构体变量也可以像其它类型的变量一样赋值、运算,不同的是结构体变量以成员作为基本变量。

结构体成员的表示方式为:结构体变量名.成员名

其中的圆点运算符称为成员运算符,它的运算级别最高。

如果将“结构体变量名.成员名”看成一个整体,则这个整体的数据类型与结构体中该成员的数据类型相同,这样就可以像前面所讲的变量那样使用,但应遵循以下规则:

不能将一个结构体变量作为一个整体进行输入和输出,而只能对结构体变量中的各个成员分别进行输入和输出。

Struct date

{

Int month;

Int day;

Itn year;

}day;

Scanf(“%d%d%d”,day);(错误)

Scanf(“%d%d%d”,&day.year,&day.month,&day.day);(正确)

Printf(“%d%d%d”,day);(错误)

Printf(“%d%d%d”,day.year,day.month,day.day);(正确)

如果成员本身又属于一个结构体类型,则要用若干个成员运算符,一级一级地找到最底的一级的成员,只能对最底级的成员进行赋值或存取运算。

Struct date

{

Int month;

Int day;

Int year;

};

Struct student

{

Long num;

Char naem[20];

Char sex;

Int age;

Struct date birthday;

Char depart[10];

}stu1;

如:stu1.birthday.year=2004;

Stu1.birthday.month=12;

对结构体变量的成员可以像同类型普通变量一样进行各种运算。

11.2.3 结构体变量的初始化与存储

结构体变量的初始化:在定义结构体变量的同时给它赋以初值。

Struct student

{

Char name[20];

Char sex;

Int age;

Float score;

}stu1,stu2={“wangwu”,’m’,20,88.5};

结构体变量所占内存的字节数

·struct 类型用内存字节数=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值