初谈结构体

结构体是什么

结构体是对有共同属性的一类具体对象的总结,是一个可以自己创造组合类型,是一个自定义类型

如:一个人可以从名字、电话、性别、年龄等去描述

结构体的创建

struct book//书  book为结构体类型
{
     //3个成员名
     char name[30];//书名
     float price;//定价
     char id[20];//书号
}b1,b2;//也可以这样创建变量(b1,b2为结构体变量)
typedef  struct Stu
{
 char name[20];//名字
 int age;//年龄
 char sex[5];//性别
 char id[20];//学号
}Stu;//把struct Stu 简化为Stu

结构体变量的定义与初始化

int main()
{
    struct book a1={"人类简史",20,"C1002004"};
    struct book a2={"世界简史"42.5f"H23004001"};
    struct book a3={"宇宙简史"36.3f"F02004100"};
    Stu a=.....;
    return 0;
}

结构体的打印

打印a1的内容

1.直接打印

int main()
{
	printf("书名:%s\n", a1.name);	//用"."访问。变量名.成员名
	printf("定价:%f\n", a1.price);
	printf("书号:%s\n", a1.id);
}

2.指针的方式(定义一个函数Print)

主函数中

int main()
{
    struct book a1={"人类简史",20,"C1002004"};
    struct book a2={"世界简史"42.5f"H23004001"};
    struct book a3={"宇宙简史"36.3f"F02004100"};
    Print(&a1);//定义在下面。把想要打印的地址传入
    return 0;
}

第一种定义

void print(sruct book *pa)
{
    printf("书名:%s\n",(*pa).name);
    printf("定价:%f\n",(*pa).price);
    printf("书号:%s\n",(*pa).id);
}

第二种定义

void print(sruct book *pa)
{
printf("书名:%s\n", pa->name);//相当于(*pa).name
printf("定价:%f\n", pa->price);
printf("书号:%s\n", pa->id);
}

更改结构体内容

1.数字类型

a.price = 100.0f;

2.数组类型用strcpy

strcpy(a.name,"数据结构");

上一篇:初谈指针变量

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值