码迷,mamicode.com
首页 > 编程语言 > 详细

C语言关于构造类型的简单概括

时间:2018-10-18 16:56:11      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:姓名   等价   表示   声明   int   特定   1.4   方式   两种   

1,结构体的构造声明如下;

  struct 结构体类型        //结构体类型常常首字母大写;

  {  结构体成员;      //结构体成员的引用格式为: 结构体变量.成员

  }结构体变量;             //如果是结构体数组,变量为数组名[结构体个数]

 

  1.1,结构体的使用:

    1.1.1:声明结构体;

    1.1.2:定义初始化结构体;

    1.1.3:调用或赋值或使用结构体指针引用;

    struct Student                                   //使用struct关键字声明一个Student类型结构体;

    {  char Name[20];                         //字符串结构体成员Name;

       char Sex[20];                             //字符串结构体成员Sex;

       int Age;                                      //整型结构体成员Age;

    } student1={"胡犀牛","男",23};         //定义结构体变量student1,并且初始化;

    struct Student student2={...};             //单独定义结构体变量并且初始化; 

       printf("姓名:%s",student1.Name );   //结构体变量的调用: 结构体变量.成员

    1.1.4:如果结构体的成员还是结构体,则需要继续使用成员运算符引用变量;

    1.1.5:成员运算符的优先级max,结构体成员与普通变量使用方法一样;汉字属于字符串;

    1.1.6:结构体声明可以在主函数内也可以在主函数外,因为声明不是函数定义;

    1.1.7:如果一个结构体成员还是结构体,初始化或者调用的时候是使用结构体内的结构体的成员;要层级调用;

  1.2,结构体数组;

    表示数组中的元素为结构体类型的数组;(兼具结构体和数组的语法特点;)

    声明结构体数组时的变量格式为:数组名[数组个数]

    调用结构体数组时的变量格式为:数组名[数组下标].成员

  1.3,结构体指针;

    表示指向结构体变量起始地址的指针;

    变量定义为:结构体类型  *指针名字;

    访问结构体成员的两种方式为:

    1.3.1:(*指针).成员   //指向指针地址得到结构体变量,等价于  "变量.成员" 的调用;

    1.3.2:  指针=&结构体变量;

        指针->结构体成员;  //定义一个指针,然后把结构体的地址传递给指针,然后使用结构体指向符指向引用成员;

    1.3.3:结构体变量.成员      =    (*结构体指针).成员      =     结构体指针->成员   

    1.3.4:  (1)指针->成员:表示结构体指针指向结构体成员的值;

        (2)指针->成员++:表示指针指向成员的值,使用后值加1;   //没有括号自加运算操作的是成员值;

        (3) ++指针->成员:表示指针指向成员的值,值加1后使用;

        (4)(++指针)->成员:表示指针先指向下一个成员的地址,然后指向成员的值;  //指针加括号自加运算操作的是指针;

        (5)(指针++)->成员:表示指针指向成员的值,使用后指针指向下一个成员的值;

  1.4,指向结构体数组的指针;

    使用方法和结构体指针一样;数组指针自加运算是指向下一个结构体数组成员;

  1.5,结构体与函数参数的关系;

    1.5.1;使用结构体成员作为函数实参传递;(值传递,与普通变量使用方法一样)

    1.5.2;使用结构体变量作为函数实参传递;(值传递,传递的是结构体变量的所有值,值的参数传递是单向)

    1.5.3;使用指向结构体变量的指针作为函数实参传递;(地址传递,传递的是结构体变量的首地址,参数值双向传递)

2,共用体;

  含义:由关键字union定义,类型为DataUnion; 把几种不同类型的变量存放在同一段内存中,所以同一时刻的共用体变量指向同一个地址内的值;

  用法:定义和引用与结构体相同,但是共用体的初始化只要初始化一个值就可以了;

  声明:

     union DataUnion  //声明一个DataUnion类型的共用体;

    {  成员;         //成员列表,存入同一个地址中;

    }变量;                //可以顺便定义变量并初始化,也可以单独定义;

  定义:

              union DataUnion variable;  //定义一个共用体类型的变量variable;

  引用:共用体对象.成员

3,枚举;使用enum关键字;

  枚举类型包含一组相关枚举标识符;每个标识符一一对应一个整数值常量,称之为枚举常量;

  枚举类型初始化的时候我们可以只初始化某个特定的标识符,然后剩下的标识符依次加一;

4,typedef  声明新类型的关键字; 就是将已有的类型声明出新的名字;

C语言关于构造类型的简单概括

标签:姓名   等价   表示   声明   int   特定   1.4   方式   两种   

原文地址:https://www.cnblogs.com/caesura-k/p/9807634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!