刷野打怪上王者·C++篇·第10期·数组、结构体

参考链接

RUNOOB.COM

数组

    数组是存储一个固定大小的相同元素的顺序集合,它们在内存中中对应的地址是连续的。下面我们来看一下数组声明:

数据类型 数组变量名[数组大小]  //这是简单的一维数组

   下面我们通过程序来看一下:

#include <iostream>

using namespace std;
int main()
{

	int iArrayVar1[5] = {0, 1, 2,  3, 4}; //初始化一维数组
	int iArrayVar2[2][3] = { 1, 2, 3, 4, 5, 6 }; //初始化二维数组

	cout << "一维数组" << endl;
	for (int iId = 0; iId < 5; iId++)
		cout << iArrayVar1[iId] << "  ";
	cout << endl;

	cout << "二维数组" << endl;
	for (int iId1 = 0; iId1 < 2; iId1++)
	{
		for (int iId2 = 0; iId2 < 3; iId2++)
		{
			cout << iArrayVar2[iId1][iId2] << "  ";
		}
		cout << endl;
	}
	getchar();
}

运行结果

一维数组
0  1  2  3  4
二维数组
1  2  3
4  5  6

:数组不仅局限在一维数组,可以是多维数组,在程序中就展示了二维数组的声明以及初始化。其它初始化的方式都是一样的,就是要声明多维数组只需要在变量后添加[数组大下]即可。

在这里还要说明一下,数组中经常使用的一个方式,就是数组的变量名代表了数组的首地址。并且数组中内存地址都是连续的,所以我们可以通过访问指向数组首地址的指针通过累加地址方式,就可以访问数组中的数据。

#include <iostream>

using namespace std;
int main()
{

	int iArrayVar1[5] = {0, 1, 2,  3, 4}; //初始化一维数组
	int iArrayVar2[2][3] = { 1, 2, 3, 4, 5, 6 }; //初始化二维数组

	int *iPointVar = iArrayVar1;    //指针指向数组首地址
	cout << "一维数组" << endl;
	for (int iId = 0; iId < 5; iId++)
	{
		cout << *iPointVar << "  ";
		iPointVar++;
	}
	cout << endl;
	getchar();
}

运行结果

一维数组
0  1  2  3  4

:因为下篇才会讲指针,所以下篇会讲解如果通过指针访问二维数组。

结构体

    结构体可以说是比数组更为灵活的一种数据构造方式,在数组中只能允许数据类型相同的数据进行存储。但是结构可以允许用户自己定义数据类型。结构体的语句:

struct 变量名1{   //此处变量名1为该结构体的名字

数据类型 变量名2;
      .
      .
      .
数据类型 变量名n;
   
}目标名;       //在程序中声明的变量名,来进行数据访问和操作

知道了结构体的语句,下面我们通过实例来说明:


#include <iostream>

using namespace std;

struct Students
{
	char* sName;
	int    iAge;
	float  fArrayScore[10];
};    //声明结构体
int main()
{
	Students stTom = {NULL}; //初始化为空值
	stTom.sName = "Tom";
	stTom.iAge = 13;
	for (int iId = 0; iId < 10; iId++) //对结构体进行赋值操作
	{
		stTom.fArrayScore[iId] = 49;
	}
	/*输出打印相关信息*/
	cout << "打印学生信息" << endl;
	cout << "姓名:" << stTom.sName << endl;
	cout << "年龄:" << stTom.iAge << endl;
	cout << "分数:" << endl;
	for (int iId = 0; iId < 10; iId++)
	{
		cout << stTom.fArrayScore[iId] << "  ";
	}


	getchar();
}

运行结果

打印学生信息
姓名:Tom
年龄:13
分数:
49  49  49  49  49  49  49  49  49  49

:上述代码是简单的结构体构建及使用的方式,在讲了指针之后,会详细讲解结构体指针的操作方式等。

更多《计算机视觉与图形学》知识,可关注下方公众号:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值