c结构体

来源:互联网 发布:c还是java 编辑:程序博客网 时间:2024/05/18 00:52

1、在程序设计中右很多复杂的对象,这些对象之间右很多属性,如果每一个对象不都分开管理他们的属性,不方便维护和统一管理

2、结构体的定义:

      struct 结构体名称{

                  数据类型    名字1;

                 数据类型      名字2

                .。。。。。。

     }

一个student结构体

    struct    student   {

          char name[16];

          int   age;

          int    sex;

          .........

}


3、定义一个结构体变量/数组            struct    结构体名称    变量名字;   struct    结构体类型   名字【大小】   

4、内存分配在哪里,每个数据成员按照顺序一个一个的从低地址向高地址存储

5、定义一个结构体指针变量     struct   结构体名称*   变量名字,     指针通过    指针变量->属性     来访问

6、结构体计算内存大小:   sizeof(struct    结构体名称)      ,sizeof(变量)

7、结构体初始化:

      struct     student     xiaoming={

               "xiaoming",

               20

     }

   可以只初始化一部分属性,但是必须对准位置

8、结构体变量访问数据成员          xiaoming.age =  50;      strcpy(xiaoming.name,"xiaohong");

9、指针访问       struct  student* ptr ;

     ptr->age = 30;    ptr->sex = 0

    (*ptr).age = 30     (*ptr).sex = 0  也可以这样访问

10、动态内存分配结构体

    struct     student*       ptr=    malloc(sizeof(struct student));

   通过memset来填充

   memset(ptr,0,sizeof(struct student));

   free(ptr);