- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言结构体struct用法
C语言,结构体(struct) 用法在实际问题中,一组数据往往具有不同的数据类型。例如, 在学生登记表中,姓名应为字符型;学号可为整型或字符型; 年龄应为整型;性别应为字符型;成绩可为整型或实型。 显然不能用一个数组来存放这一组数据。 因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言中给出了另一种构造数据类型——“结构”。 它相当于其它高级语言中的记录“结构”是一种构造类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 结构既是一种“构造”而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义函数一样1. 结构说明和结构变量定义
在使用结构变量时要先对其定义。
struct 结构名
{
类型 名;
类型 名;
...
} ; struct 结构名
{
类型 名;
类型 名;
...
} 结构变量;
3. struct 结构名
{
类型 名;
类型 名;
...
} Struct 结构结构变量;
4 struct 结构名
{
类型 名;
类型 名; struct 结构名
{
类型 名;
类型 名;
...
} 结构变量;
...
} 结构变量; //可以是1类型的,也可以是2类型的嵌套
5 struct
{
类型 名;
类型 名; ...
} 结构变量; //这种无结构名的,常常出现在函数内部,此时,结构变量名必须与结构一起方可。
结构变量名表既可以是变量,也可以是数组。可以直接对变量名表赋值,赋值时,一个变量用一个大括号表示,变量成员括在大括号之内,各变量名间用逗号隔开。
查看变量名下的成员内容,就相当于一个二维的变量,具体格式为:结构变量名+
点+成员名,给单个成员名赋值也一样。
用指针应用结构体变量中的各成员。形式为:
结构指针名-成员名 相当于 (*结构指针名). 成员名 //圆括号不能省
也相当于 结构变量名 . 成员名
例如:
Struct student *p=stu; //stu为结构变量名
或者:Struct student *p; p=stu;
类型为五种数据类型(整型、浮点型、字符型、指针型和 无值型)。
下面举一个例子来说明怎样定义结构变量。
struct string
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} person;
这个例子定义了一个结构名为string的结构变量person, 如果省略变量名
person, 则变成对结构的说明。用已说明的结构名也可定义结构变量。这样定义
时上例变成:
struct string
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
};
struct string person;
如果需要定义多个具有相同形式的结构变量时用这种方法比较方便, 它先作 结构说明, 再用结构名来定义变量。
例如:
struct string Tianyr, Liuqi, ...;
如果省略结构名, 则称之为无名结构, 这种情况常常出现在函数内部, 用
文档评论(0)