十天学会C语言

第09天C语言(11):结构体-初始化

2017-07-12  本文已影响19人  liyuhong
二、代码
#include <stdio.h>
int main()
{
    /*
    int nums[] = {1,3,3,4};
    
    int nums1[3];
    nums1[0] = 5;
    nums1[1] = 1;
    nums1[2] = 2;
    
    int nums2[3];
    nums2 = {1,3,5}; // 错误写法
     
     int nums3[3] = {[1] = 2};
     printf("nums [0] = %i\n ",nums[0]);
     */

    
    struct Dog
    {
        char *name;
        int age;
        double height;
    };
    // 1.定义的同时 初始化
    struct Dog sd = {"wc",11,5.0};
    
    // 2.先定义再初始化
    struct Dog sd1;
    sd1.name = "ls";
    sd1.age = 5;
    sd1.height = 2.0;
    
    
    // 3.先定义再初始化(一次性初始化)
    struct Dog sd2;
    //  特别注意 : 结构体 和 数组 有一点区别,数组不能先定义再进行一次性初始化,结构体可以
    // 只不过需要明确的告诉系统{}中是一个结构体
    sd2 = (struct Dog){"wc",11,5.0}; // 系统不知道 数组(数组不可以)? 结构体?
    
    // 4. 指定将数据赋值 给指定的属性
    struct Dog sd3 = {.height = 1.22,.name = "ww",.age = 33};
    
    printf(" name = %s,age = %i,height = %lf\n",sd3.name,sd3.age,sd3.height);
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读