首页 > 其他分享 >C 语言结构体使用

C 语言结构体使用

时间:2023-08-02 11:23:18浏览次数:27  
标签:stu1 语言 no price 使用 struct printf 结构 name

#include <stdio.h>
#include <string.h>

// 1. 定义一个结构体(先定义结构体再声明变量)
struct Student
{
	int no;
	char *name;
	char sex;
	float score;

};

// 2. 在定义结构体类型的同时声明结构体变量
struct Teacher
{
	int no;
	char *name;
	float salary;
} t1, t2;


// 3. 定义结构体直接声明结构体变量, 没有结构体类型名
struct
{
	char *plate_no; // 车牌号
	char *brand;	// 品牌
	float price;	// 售价
} car1, car2;


// 4. 通过 typedef 定义结构体
// typedef 数据类型 新名称
// 该结构体的类型为 struct OrderEntry, 该结构体的别名为 order
typedef struct OrderEntry
{
	int order_no;
	int total;
	float price;
} order;


struct Date
{
	int day;
	int month;
	int year;
};


// 5. 嵌套结构体定义
struct Person
{
	char name[50];
	struct Date birthday;
};



int main(int argc, const char *argv[])
{
	printf("--------students---------\n");
	struct Student stu1;
	stu1.no = 1;
	stu1.name = "steve";
	stu1.sex = 'M';
	stu1.score = 100;

	printf("no = %d, name = %s, sex = %c, score = %.2f\n", stu1.no, stu1.name, stu1.sex, stu1.score);

	printf("--------teachers---------\n");
	t1.name = "bob";
	t1.no = 1001;
	t1.salary = 10000;

	t2.name = "lisi";
	t2.no = 1002;
	t2.salary = 20005;

	printf("no = %d, name = %s, salary = %.2f\n", t1.no, t1.name, t1.salary);
	printf("no = %d, name = %s, salary = %.2f\n", t2.no, t2.name, t2.salary);

	printf("--------cars---------\n");
	car1.plate_no = "晋A69888";
	car1.brand = "BMW";
	car1.price = 598700;

	car2.plate_no = "京A88888";
	car2.brand = "Mercedes-Benz";
	car2.price = 1500000;

	printf("plate_no = %s, brand = %s, price = %.2f\n", car1.plate_no, car1.brand, car1.price);
	printf("plate_no = %s, brand = %s, price = %.2f\n", car2.plate_no, car2.brand, car2.price);


	printf("--------orders---------\n");
	// order 是 struct OrderEntry 的别名
	order ord1;
	ord1.order_no = 9001;
	ord1.total = 100;
	ord1.price = 900000;

	printf("order_no = %d, total = %d, price = %.2f\n", ord1.order_no, ord1.total, ord1.price);




	printf("--------people---------\n");
	struct Person p1;
	strcpy(p1.name, "张三");
	p1.birthday.year = 2005;
	p1.birthday.month = 9;
	p1.birthday.day = 20;

	printf("name = %s, birthday = %4d-%02d-%2d\n", p1.name, p1.birthday.year, p1.birthday.month, p1.birthday.day);






	return 0;
}

标签:stu1,语言,no,price,使用,struct,printf,结构,name
From: https://www.cnblogs.com/zxhoo/p/17600106.html

相关文章

  • nnUNet 使用方法
    首先明确分割任务。其次明确研究方法和步骤。再做好前期准备,如数据集的采集、标注以及其中的训练集/测试集划分。其中的参考链接: (四:2020.07.28)nnUNet最舒服的训练教程(让我的奶奶也会用nnUNet(上))(21.04.20更新)_nnuet制定计划_花卷汤圆的博客-CSDN博客 最后,如果你需要具体的评......
  • 使用python写ros publisher和subscriber
    publisher#!/usr/bin/envpython#licenseremovedforbrevityimportrospyfromstd_msgs.msgimportStringdeftalker():pub=rospy.Publisher('chatter',String,queue_size=10)rospy.init_node('talker',anonymous=True)ra......
  • 让nlohmann json支持std::wstring和嵌套结构的序列化与反序列化
    nlohmannjson是一个star很高的C++json解析库。要让nlohmannjson支持某个类型T,只要给这个类型T实现一个偏特化的structadl_serializer<T>即可。adl_serializer是这个库里面针对泛型T预定义的适配器。而嵌套结构,本身就支持的。使用预定义的宏NLOHMANN_DEFINE_TYPE_NON_INTRUSI......
  • Docker使用理解
    1.轻量级的虚拟机,可以像房间一样隔离每个应用,安装依赖一条命令。  保证同样的运行环境,解决每个计算机运行情况不同的问题。2.镜像是一个发布包,可以发布多个运行实例供用户访问。3.可以将镜像 dockersave 为压缩包给其他人用  命令:dockersave-o./ywtest.tarywtes......
  • 在mac终端中,使用tree命令,出现zsh: command not found: yytree 解决办法
    首先安装homebrew/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"其次安装tree命令brewinstalltree最后检查下nano~/.zshrc中是否有重复的命令。如果有。则在前面加#注释,或修改其为其他命令最重要的一步:修改......
  • 数据结构--排序
    什么是排序?排序:将无序序列排成一个有序序列的运算.排序的应用非常广泛.排序方法的分类按照储存介质分类.内部排序:数据量不大,数据在内存,无序内外存交换数据.外部排序:数据量较大,数据在外存(文件排序).按比较器个数分类串行排序:单处理机(同一时刻比较一对元素)......
  • PHPGD库如何使用SVG格式进行图像处理
    使用PHPGD库进行图像处理是PHP编程开发中常用的技术,而将其与SVG格式结合使用可以使图像处理更加灵活、高效和美观。本篇文章将围绕PHPGD库如何使用SVG格式进行图像处理展开探讨。一、什么是SVG格式?PHPGD库如何使用SVG格式进行图像处理SVG是可缩放矢量图形(ScalableVectorGra......
  • .NET Core如何使用第三方容器Autofac
    首先先了解一下什么是AutofacAutofac用于在.NETCore应用程序中管理组件的生命周期和依赖关系。我们在开发一个项目的时在Program中注入依赖注入的生命周期,项目工程比较大的时候我们就要实现很多注入,最致命的缺点就是耽误太多时间,为解决这一问题的最好解决方法就是使用到Autof......
  • react中简单使用echarts图表
    1:下载echarts-for-react插件2:组件内引入importReactEchatrsfrom'echarts-for-react'复制echarts官网图表的option例如:柱形图的option react组件内定义函数存放复制的option并返回importReactfrom'react';importReactEchatrsfrom'echarts-for-react'impor......
  • 【C语言】双引号中使用宏定义
     目录快速答案详细讲解举个例子方法及代码参考资料 快速答案使用星号占位符(*)printf("%*d",-4,"12");//或printf("%-*d",4,"12");//得到的输出:"12"(12后面有两个空格) 详细讲解举个例子通常,我们为了保证输出格式美观,会使用下面的方式......