美文网首页十天学会C语言程序员
C语言day09-11结构体-初始化

C语言day09-11结构体-初始化

作者: liyuhong165 | 来源:发表于2016-05-04 23:42 被阅读65次

    pragma mark 结构体-初始化

    pragma mark 概念

    pragma mark 代码

    #include <stdio.h>
    int main()
    {
    #warning 数组初始化方式
        /*
        int nums[] = {1,3,5};
        
        int nums[3];
        num[0] = 1;
        num[1] = 3;
        num[2] = 5;
         
         // 错误写法
         int nums[3];
         nums = {1,3,5}; // 错误
         
         // 方式3
         int nums[3] = {[1] = 2};
         
         printf("nums[0] = %i\n", nums[0]);
         */
        
        struct Dog
        {
            char *name;
            int age;
            double height;
        };
        
        // 1. 定义的同时初始化
        struct Dog sd = {"wc",13,5.0};
        
        // 2. 先定义再初始化(逐个初始化)
        struct Dog sd1;
        sd1.name = "ww";
        sd1.age = 5;
        sd1.height = 10.9;
        
        // 3.先定义再初始化(一次性初始化);
        struct Dog sd2;
        // 使用强制类型转换 告诉系统是一个结构体
        // 特别注意 : 结构体和数组有一点区别,数组不能先定义再进行一次性的初始化,而结构体可以
        // 只不过需要明确的告诉系统{} 是一个结构体
        sd2 = (struct Dog){"xq",8,2.0}; // 系统搞不清是 数组 还是 结构体
     
        // 4. 指定将数据赋值给指定的属性
        struct Dog sd3 = {.height = 1.77,.name = "ww", .age = 22};
        
        printf("name = %s,age = %i,height = %lf\n",sd3.name,sd3.age,sd3.height);
        return 0;
    }
    
    

    相关文章

      网友评论

        本文标题:C语言day09-11结构体-初始化

        本文链接:https://www.haomeiwen.com/subject/cccdrttx.html