栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

[C语言]自学计划day4(一)(define的定义和结构体)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[C语言]自学计划day4(一)(define的定义和结构体)

#define定义常量和宏

#define可以定义常量和宏

#define MAX 100

直接定义MAX这个常量的值

#define ADD (a,b)((a)+(b))

定义ADD这个宏的算法   a和b都可以为一个值或者一个式子,如果不加小括号的话,计算的时候会把整个式子写出来再计算

//例如
#define ADD(a,b) a+b
int main()
{
	int x = 10;
	int y = 20;
	printf("%dn", 4 * ADD(x , y));
	return 0;
}

打印出来的结果就是60(4 * 10 + 20)

在前面定义宏的时候加上括号,打印出来的值才会是120(4 *(10 + 20))

结构体

结构体可以让c语言创建新的类型出来

例如创建一个学生的类型

//创建学生类型
struct students
{
	char name[20];
	int age;
	double score;
};

int main()
{
	struct students a = { "张三" , 18 , 100 };//创建结构体“学生a”并初始化
	struct students b = { "李四" , 20 , 92.5 };//创建结构体“学生b”并初始化
	struct students c = { "王五" , 19 , 97.3 };//创建结构体“学生c”并初始化

	return 0;
}

这样就创建了一个类型“学生”,并在这个结构体内部创建了三个结构体,这三个结构体都有三个元素组成:“名字,年龄,分数”

并且这三个元素都存储在同一个结构体内部

结构体的使用

//创建学生类型
struct students
{
	char name[20];
	int age;
	double score;
};

int main()
{
	struct students a = { "张三" , 18 , 100 };//创建结构体“学生a”并初始化
	struct students b = { "李四" , 20 , 92.5 };//创建结构体“学生b”并初始化
	struct students c = { "王五" , 19 , 97.6 };//创建结构体“学生c”并初始化
	printf("%s %d %lfn", a.name, a.age, a.score);
	//打印a学生的数据,“.”操作符是用来访问结构体中的成员的
	printf("%s %d %lfn", b.name, b.age, b.score);
	printf("%s %d %lfn", c.name, c.age, c.score);
	return 0;
}

其中“.”操作符是用来访问结构体中的成员的

结构体变量名+“.”+成员变量名

还可以用“->”操作符,用于指针变量

结构体指针->成员变量名

printf("%s %d %lfn", a.name, a.age, a.score);
//打印a学生的数据,“.”操作符是用来访问结构体中的成员的
struct students* pa = &a;//创建指针pa
printf("%s %d %lfn", pa->name, pa->age, pa->score);//结构体指针->成员变量名
printf("%s %d %lfn", (*pa).name, (*pa).age, (*pa).score);//(*结构体指针)+“.”+成员变量名

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529219.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号