黑马程序员技术交流社区

标题: iOS开发C语言基础之结构体多种定义形式 [打印本页]

作者: Lxy    时间: 2014-10-11 20:17
标题: iOS开发C语言基础之结构体多种定义形式
//定义结构体多种方式
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"};
     */

}







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