C++结构体与函数(第十节)

1)结构体

学校在记录学生信息时可能需要用到学生的姓名、身高、体重、年级、成绩、学号等等。这时候我们就希望有一种数据结构能存储下这些信息。显然数组不能完成这项任务,因为虽然数组可以存储多个元素,但所有元素的类型必须相同。这时候结构体就能满足这个需求了,结构体为我们提供了用户自定义类型的行为极大的提高了语言的灵活程度。

#include <iostream>

using namespace std;

//关键字  标记成为新
//struct 类型的名称
  struct student
  {//左大括号和右大括号
	  int number; //结构的成员
	  char name[20];//结构的成员
	  float score;//结构的成员
  };//结束结构声明
  //结构描述的组成部分

//注意我们也可以直接在结构体后面建立这种类型的变量
/*
struct node
{
    int a;
    float b;
}na, nb;//直接定义
*/

int main()
{
    student zhangsan;//定义结构后,便可以创建这种类型的变量了
    zhangsan.number = 1;//结构体用.来访问各个成员
    zhangsan.name = "zhangsan";
    zhangsan.score = 99.5;
    cout << zhangsan.numbe << ' ' << zhangsan.name << zhangsan.score << endl;
    return 0;
}

上述代码的阅读可以明白结构体简单建立的访问,如果需要完成我们开始的问题,就直接建立结构体数组就好了,因为我们定义了新的变量类型,所以开设数组与平时的数组一样就不再赘述了。

2)函数

我们之前使用了大量的别人给的一些方法,其实就时别人写好的函数我们直接使用。这个部分我们说明一下自己如何创建函数与使用函数。

#include <iostream>

using namespace std;

//没有返回值没有形式参数的函数
//返回值 函数名:括号用来开设参数,可以没有参数
void show()
{
	cout << "hello world" << endl;
}

//没有返回值有形式参数的函数
//这时候括号中建立参数用来接收调用(使用)者传递给的值
//这给参数也叫形参
void showNumber(int num)//给定形参类型和名称
{
	cout << num << endl;//输出形参
}
//形参可以多个
void showSomeNumber(int numa, int numb, double numc)
{
	cout << numa << ' ' << numb << ' ' << numc << endl;
}
//带返回值有形式参数的函数
int sumOfAll(int numa, int numb, int numc)//返回值类型为int
{
	return numa + numb + numc;//把三个数相加返回
}
int main()
{
	//调用(使用)show函数
	show();
	//调用(使用)showNumber函数
	int a = 8;
	showNumber(a);//传给函数一个参数a;这个参数称为:实参
	//调用(使用)showSomeNumber函数
	showSomeNumber(8, 9, 1.4);//尽量传入相同类型的参数避免不必要的错误
	//调用(使用)sumOfAll函数
	int sum = sumOfAll(5, 6, 7);//sum来接收函数返回的值
	cout << sum << endl;
	return 0;
}

上述简单的描述了函数如何使用,可以自行组合。还记得字符串吗,其实我们在结构体里写函数这样这个类型就有了函数成员(方法),就可以像string一样使用了(可自行尝试)。

练习:https://www.luogu.com.cn/training/105#problems

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值