黑马程序员技术交流社区

标题: struct结构体总结 [打印本页]

作者: 非良人    时间: 2016-3-13 20:38
标题: struct结构体总结
/*
结构体:

1.结构体的作用就是为了保存数据类型不一样的数组。便于去管理每一个对象的数据。结构体的类型需要我们自己去创建。

2.结构就就是一种数据类型,和int char ,double,float一样。只不过是我们根据自己需求创建。创建方法有很多种,

只要记住最常见的:

      在定义的时候就初始化:

   struct Student {

   char *name;

   int  age;

   double score;

} Xiaoming={"xiaoming",23,98};

注意:1.数据类型是:struct Student,变量名是people。

     2.结构体名单词开头字母要大写。

     3.因为结构体也是一直数据类型,所以我们也可以批量定义,如int a,b,c;

     4.结构体一般是给所有函数用的,所以一般不定义在函数内部。直接定义在头部,供所有函数使用!


3.输出的格式是: 变量名.元素名

  printf("%s,%d,%.2lf\n",Xiaoming.name,Xiaoming.age,Xiaoming.score);



结构体数组:

  1.有多个相同数据类型(同一个结构体内心)的对象,这时候就要用到结构体数组,数组中的每一个元素就是一个结构体。

  2.结构体数组的赋值方法:

同样只要记最常见的赋值方法就好:

structure Student arr[5]={

      {“小明”,24,89},

      {“jack”,24,89},

      {"rose”,24,89},

      {"小强”,24,89},

      {“小花”,24,89},
}

3.输出结构体数组中的数据:


    输出结构体数组中的的一组数据:

    printf("%s,%d,%.2lf",arr[0].name,arr[0].age,arr[0].score);


    输出结构体数组中每组的数据:

      1)求出数组的长度(元素的个数)。int len=sizeof(数组名)/sizeof(struct 结构体名)!不要忘了struct

      2)用长度来做for循环,遍历输出每组元素。


4.结构体和指针

   1)指针的目的就是在函数中可以间接的去改结构体中的值。要想用指针,就要先声明该类型的指针。

     语法结构:

     struct student *p=&people;

   作用:声明一个struct student 类型的指针,同时将结构体people的地址取出来给到该指针。

   2)完成指针的声明后,就要用该指针了。可以通过指针来改变结果体中的值了。

    语法结构:

     同样只记最常见的方法。指针名→age=26;将结构体people中的元素age的值改成26.


5.结构体的嵌套。

    结构体中的元素还是一个结构体。声明两个结构体,其中一个结构体以元素的形式,写在另一个结构体中。

   
   语法结构:

  sttuct people{

  char *name;

  int   age;

  double score;

  struct birthday Date;



}


输出格式是:


  变量名1.name 或 变量名1.变量名2.month






作者: wx_MkPtTU4D    时间: 2016-3-14 00:32

作者: 简单的爱    时间: 2016-3-14 11:02
总结的很全面啊 ,点赞




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2