A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qianlongwuyong 中级黑马   /  2015-3-19 07:24  /  588 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

结构体有哪些是重点

3 个回复

倒序浏览
首先要明确结构体的概念 我们为什么要用结构体:结构体其实就是由若干个不同数据类型的数据项组成的数据结构


结构体变量的定义:
结构体定义的基本格式如下 :


struct 结构体名
{
        类型  数据类型成员名1
        类型  数据类型成员名2
        ..... ................


};//注意最后的这个分号不可缺少


例如:


struct person
{
        char name[];
        int age;
};


上面的struct 是关键字 表示这是一个结构体类型 person表示结构体的名称
1个成员称为结构体类型的1个数据项 也有人称为分量
结构体和成员的命名规则与变量的命名规则相同
注意上面这段代码:仅仅是定义结构体类型 并未分配存储空间


定义结构体的3种方式:
第1种.先声明结构体 再定义结构体变量
如:
struct student
{
        int num;
        char name[12];
        char sec;
        float score;
};
struct student stu1,stu2;
上面这段代码 是先定义结构体  其中student 为结构体名
然后再定义结构体变量 stu1 stu2
其中stu1 和 stu2 是student 类型的结构体变量


第2种: 声明结构体类型的同时定义变量
格式如下:
struct 结构体名
{
        成员类别;
        .... ...
}变量名;
如:
struct student
{
        int num;
        char name[12];
        char sec;
        float score;
} stu1,stu2;


第3种: 直接定义结构体变量
格式如下:
struct
{
        成员列表
        ........
}变量名;
如:
struct
{
        int num;
        char sex;
}stu1;


定义结构体数组:
定义结构体数组时,必须先定义结构体 然后再定义该类结构体的数组


如:
struct student
{
        int num;
        char name[12];
        char sex;
};
struct student stu[40];
还可以使用下面这种方法:
struct student
{
        int num;
        char name[12];
        char sex;
}stu[40];


结构体数组的初始化:
结构体数组的初始化 和其他类型的数组的初始化类似
struct student
{
        int num;
        char name[12];
        char sex;
}stu[2]={{1001,"张三",'M',99}
        {1002,"小美",'F',98}};


如果成员是一个数组类型的话 初始化如下
struct student
{
        int num;
        char name[12];
        char sex;
        float score[2];
}stu[2]={{1001,"张三",'M',99,97}
        {1002,"小美",'F',98,69}};


结构体变量的初始化:
对结构体变量在定义时指定初始值 称为初始化
结构体的初始化和数组类似,都是按顺序赋初始值的,在编译时按顺序将表达式中的值赋值给结构体变量中的成员
如:
struc student
{
        int num;
        char name[12];
        char sex;
}stu1={1122,"张小强","M",89};


如果成员是一个数组类型的话 初始化如下
struc student
{
        int num;
        char name[12];
        char sex;
        float score[2];
}stu1={1122,"张小强","M",89,98};

回复 使用道具 举报
老师视频里好像有总结哦
回复 使用道具 举报
总结的很好啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马