1.
structPerson
{
charname[20];
intage;
floatweight;
};
structPersonperson = {“a”,28,55.5f};
2.
structPerson
{
charname[20];
intage;
floatweight;
} person = {”a”,28,55.5f};
只能在定义变量时初始化
结构体的使用
person.age=22;// 这里的.运算符 优先级最高
structPersonp1 = {“a”,28,55.5f};
structPersonp2 = p1;
结构体数组’
跟结构体变量一样,结构体数组也有3种定义方式 ……person[5];
初始化与数组类似 struct Person person = { {}, {}, {} };
结构体作为函数参数
将结构体变量作为函数参数进行传递时,其实传递的是全部成员的值,
也就是将实参中成员的值一一赋值给对应的形参成员。因此,形参的改变不会影响到实参。//值传递
指向结构体的指针
*结构体指针变量的定义形式:struct结构体名称*指针变量名
*有了指向结构体的指针,那么就有3种访问结构体成员的方式
结构体变量名.成员名
(*指针变量名).成员名//因为 .优先级高,,所以要括起来
指针变量名->成员名
voidprocessStruct()
{
printf(“p-name:%s\n”,person.name);
structPerson*per = &person;
printf(“p-age:%d\n”, (*per).age);
printf(“p-weight:%.2f\n”, per->weight);
}
枚举
它可以用于声明一组常数。c 计算结构体大小当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型
枚举类型的定义
enumSeason {spring, summer, autumn, winter};
枚举变量的定义
跟结构体一样,有3种方式定义枚举变量
>enumSeason {spring, summer, autumn, winter};
enumSeason s;
>enumSeason {spring, summer, autumn, winter} s;
>enum{spring, summer, autumn, winter} s;
枚举使用的注意
> C语言编译器会将枚举元素(spring、summer等)作为整型常量处理,称为枚举常量。
>枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一个枚举元素的值为0,第二个为1,依次顺序加1。
enumSeason {spring, summer, autumn, winter};
也就是说spring的值为0,summer的值为1,autumn的值为2,winter的值为3
>也可以在定义枚举类型时改变枚举元素的值
enumseason {spring, summer=3, autumn, winter};
没有指定值的枚举元素,其值为前一元素加1。也就说spring的值为0,summer的值为3,autumn的值为4,winter的值为5
enumSeason
{
spring, summer =18, fall, winter
} season;
voidprocessSeason()
{ season=spring;//等价于 season = 0; //默认从0开始
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-55787-10.html
你等着
一头黑发特别有神
要蛇打七寸