当前位置:首页>科技 >内容

c语言struct的用法_C语言中struct的用法有哪些

2024-05-23 11:39:51科技漂亮的斑马

定义结构变量这里有一个例子来说明如何定义结构变量。struct string { charname[8];进口;夏塞克斯[2];char departy[20];浮动1,浮

c语言struct的用法_C语言中struct的用法有哪些

定义结构变量

这里有一个例子来说明如何定义结构变量。

struct string { charname[8];进口;夏塞克斯[2];char departy[20];浮动1,浮动2,浮动3,浮动4,浮动5;}人;这个例子定义了一个结构变量person,它的结构叫做string。您也可以省略变量名person,并将其定义如下:

struct string { charname[8];进口;夏塞克斯[2];char departy[20];浮动1,浮动2,浮动3,浮动4,浮动5;};structstringperson//定义一个名为string的结构变量。person用相同的形式定义了多个结构变量:

刘琦的structstringLiming,有一种结构经常出现在函数内部。如果省略结构名,则称为匿名结构,如下所示:

struct { charname[8];进口;夏塞克斯[2];char departy[20];浮动1,浮动2,浮动3,浮动4,浮动5;}黎明,刘琦;结构构件的获取和分配

结构是一种新的数据类型,其成员表示如下:

结构变量。结构变量的成员名。“成员名”被视为一个整体,它们可以像其他变量一样使用。

以下示例定义了一个结构变量stu1,分别为name、age和group赋值,并打印输出。

# include int main(){ struct { char * name;//name int age;//age char group;//Group } stu 1;//将stu1.name='Tom '赋给结构成员;stu 1 . age=18;stu 1 . group=' A '//读取结构成员的值printf(' % s的年龄是%d,在%c组\ n 'stu1.name,stu1.age,stu 1 . group);返回0;}结构数组

结构数组是一组具有相同结构类型的变量。如果要定义一个班40个学生的姓名,性别,年龄,地址,可以定义为结构数组。如下所示:

struct { charname[8];夏塞克斯[2];进口;charaddr[40];}学生[40];结构数组成员的访问以数组元素为结构变量,其形式为:

结构数组元素。成员名称,例如:

学生[0]。姓名学生[30]。年龄结构指针

结构指针由加在结构变量名前的*运算符定义,结构指针定义如下:

struct string { charname[8];夏塞克斯[2];进口;charaddr[40];} *学生;通过使用结构指针访问结构成员不同于通过结构变量访问结构成员。结构指针以下列方式访问结构成员:

结构指针名称-结构成员为上面定义的结构中的名称和年龄赋值的语句:

strcpy(学生名,' acket ');//学生名是(* student)。namestuddent-age=18;需要指出的是,结构指针是指向结构的指针,也就是结构中第一个成员的第一个地址,所以结构指针在使用前要进行初始化,也就是要分配整个结构长度的字节空间:

student=(struct string *)malloc(sizeof(struct string));//sizeof(structstring)是自动查找字符串结构的字节长度。malloc()函数定义一个内存区域,它的大小是结构的长度,然后返回它的地址作为指向结构的指针。

比特结构

比特结构是一种特殊的结构,比特结构定义的一般形式是:

Struct位结构名{数据类型变量名:整数常量;数据类型变量名:整数常量;}位结构变量;其中数据类型必须是int(unsigned或signed,但成员长度为1时会被认为是unsigned),整数常量必须是0到15的非负整数,表示二进制位数。变量名是可选的,可以不命名。下面定义了位结构:

struct { unsignedicon:8;unsignedtxcolor:4;unsignedbgcolor:3;unsigned block:1;}ch的第7位;位结构成员的访问与结构成员的访问相同,位结构中对bgcolor成员的访问可以写成:

例如,Ch.bgcolor

struct info { charname[8];进口;structaddradaddress;浮动支付;未签名状态:1;未签名支付:1;}工人;上面的结构定义了工资的信息,有两个成员只有一位,表示工人的状态和工资是否已经发放。

Typedef定义结构

typedef结构person { intagechar * namechar * sex}学生;学生1;//这里可以用student定义一个结构变量typedef,相当于给struct person一个别名student。

japan quarterly 日本季刊

声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们

Top