结构体的定义和初始化方式

1.结构体的定义和初始化 

方式1

typedef struct Student
	{
		char name[20];
		long long  id;
		int math;
	}student;
	//typedef struct Student student;
	student s ={ "lixuhui", 17040413109, 100 };

方式2 

struct Student
	{
		char name[20];
		long long  id;
		int math;
	};
	typedef struct Student student;
	student s ={ "lixuhui", 17040413109, 100 };

方式3 

struct Student
	{
		char name[20];
		long long  id;
		int math;
	};
	struct Student student;
	student = { "lixuhui",17040413109,100 };

对结构体进行指针进行操作 

typedef struct Student
	{
		char name[20];
		long long  id;
		int math;
	}student;//这是一个类型名
	//typedef struct Student student;
	student s =( struct Student){ "lixuhui", 17040413109, 100 };
	student* p = &s;
	strcpy(s.name, "lisi");
	printf("%s", (*p).name); //在指针中.等价于->
    printf("%s", p->name);

参照别的大佬的代码,开拓自己的知识视野 

#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {

	//定义结构体类型
	struct Person
	{
		char *name;
		int age;
		double heigth;
	};

	//初始化的4种方式

	//1.定义的同时初始化
	struct Person p1 = { "zhangsan",20,170 };

	//2.先定义再逐个初始化
	struct Person p2;
	p2.name = "ykd";
	p2.age = 18;
	p2.heigth = 180;

	//3.先定义再一次性初始化
	struct Person p3;
	p3 = (struct Person) { "lisi", 18, 180 };

	//注意:结构体和数组在这里的区别,数组不能先定义再进行一次性初始化
	//结构体要明确的告诉系统{}中是一个结构体

	//4.指定将数据赋值给指定的属性
	struct Person p4 = { .heigth = 1.77,.name = "wangwu",.age = 33 };


	//如何从结构体中取数据?
	printf("name=%s,age=%i,heigth=%f\n", p4.name, p4.age, p4.heigth); //name=wangwu,age=33,heigth=1.770000

	system("pause");
	return 0;
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值