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