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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Lxy 中级黑马   /  2014-10-11 20:17  /  804 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//定义结构体多种方式
void test()
{
    /*
     1.定义结构体变量的3种方式
     1> 先定义类型,再定义变量(分开定义)
     struct student
     {
     int age;
     };
     struct student stu1;

     2> 定义类型的同时定义变量
     struct student
     {
     int age;
     }stu1;
     struct student stu2;

     3> 定义类型的同时定义变量(省略了类型名称)
     struct
     {
     int age;
     }stu;
     struct
     {
     int age;
     }stu1;
     */

    /*定义结构体变量的第3种方式
     struct
     {
     int age;
     double height;
     char* name;
     }stu;
     //缺点是下次再定义变量时,要重新复制,因为结构体类型不能重用
     struct
     {
     int age;
     double height;
     char* name;
     }stu2;
     */


    /*错误写法:结构体类型重复定义,就像重复定义变量一样
     struct student
     {
     int age;
     double height;
     char* name;
     }stu;
     struct student
     {
     int age;
     double height;
     char* name;
     }stu2;//会报错,结构体类型struct student重复定义
     */

    /*结构体类型不能重复定义
     struct student
     {
     int age;
     };
     struct student
     {
     double height;
     };
     struct student stu;
     */

    /*
     这句代码做了两件事情:
     1.定义结构体类型
     2.利用新定义好的类型来定义结构体变量

     //定义变量的第2种方式:定义类型的同时定义变量
     struct student
     {
     int age;
     double height;
     char* name;
     }stu;   //相当于int a;
     struct student stu2;
     */
    //*************************************
    /*
     // 定义变量的第1种方式
     // 1.定义结构体类型
     struct student
     {
     int age;
     double height;
     char* name;
     };

     //2.定义结构体类型变量
     struct student stu = {20, 1.78, "jack"};
     */

}


评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马