C语言中的结构体

来源:互联网 发布:java学完能做什么工作 编辑:程序博客网 时间:2024/04/28 18:40

格式:struct 结构体标识名

     {类型名1  结构成员表1;

      类型名2  结构成员表2;

      ……类型名n  结构成员表n;

      };

       注意:struct是关键字,是结构体类型的标志。“结构体标识名”和“结构体成员名”都是用户定义的标识符,“结构体标识名”是可选项,在说明中可以不出现。每个“结构成员表”中都可以含有多个同类型的成员名,它们之间用逗号隔开。结构体中的成员名可以和程序中的其他变量名相同,不同结构体中的成员也可以同名。要记住:结构体说明要以分号结尾。

       定义结构体类型的变量、数组、和指针变量可用4中方式:a:紧跟在结构体类型说明之后进行定义;b:在说明一个无名结构体类型的同时直接进行定义;c:先说明结构体类型,再单独进行变量定义;d:使用typedef说明一个结构体类型名,再用新类型名来定义变量。

       如果已经定义了一个结构体变量和基类型为同一结构体类型的指针变量,并使该指针指向同类型的变量,则引用结构体变量中的成员可以用以下三种形式:

       形式1:结构体变量名.成员名

       形式2:指针变量名->成员名

       形式3:(*指针变量名).成员名

注意:结构体变量名也可以是已经定义的结构体数组中的数组元素。

说明:点号(.)称为成员运算符;箭头(->)称为结构指向运算符,它由减号和大于号两部分组成,它们之间不能有空格;在形式三中,一对圆括号不可少。这两个运算符与圆括号、下标运算符的优先级相同,在c语言的运算符中优先级最高。

           ( 源自百度文库:    https://wenku.baidu.com/view/2a0bfceb910ef12d2af9e79a.html)