第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;
}