0801C++结构体基础

0801C++结构体基础,第1张

1.1 结构体的概念

我们所学的整型浮点型字符型等,都是内置的数据类型,编译器给我们提供好的数据类型。


而结构体属于用户自定义的数据类型,允许用户存储不同的数据类型,即一些类型集合组成的一个类型。


1.2 结构体定义和使用

语法:struct 结构体名 { 结构体成员列表 };

通过结构体创建变量的方式有三种:

  • struct 结构体名 变量名
#include
#include
using namespace std;
struct likes_idol
{
	//成员列表
	string name;  //姓名
	string country;
	int age;      //年龄
	double height;    //身高(米) 
}; 
int main() {

	//结构体变量创建方式1
	struct likes_idol Micchi; //struct 关键字可以省略

	Micchi.name = "道枝骏佑";
	Micchi.country = "Japan"; 
	Micchi.age = 19;
	Micchi.height = 1.79;
	cout << "姓名:" << Micchi.name <<" 国籍:"<<Micchi.country<< " 年龄:" 
	<< Micchi.age  << " 身高:" << Micchi.height << endl;
}
  • struct 结构体名 变量名 = { 成员1值 , 成员2值…}
struct likes_idol
{
	//成员列表
	string name;  //姓名
	string country;
	int age;      //年龄
	double height;    //身高(米) 
}; 
struct likes_idol Micchi = { "道枝骏佑","Japan",19,1.79};//struct 关键字可以省略
cout << "姓名:" << Micchi.name <<" 国籍:"<<Micchi.country<< " 年龄:" 
	<< Micchi.age  << " 身高:" << Micchi.height << endl;
  • 定义结构体时顺便创建变量
struct likes_idol
{
	//成员列表
	string name;  //姓名
	string country;
	int age;      //年龄
	double height;    //身高(米) 
}Micchi; 

输出:

姓名:道枝骏佑 国籍:Japan 年龄:19 身高:1.79

tips:

1:定义结构体时的关键字是struct,不可省略

2:创建结构体变量时,关键字struct可以省略

3:结构体变量利用 *** 作符 ‘’.‘’ 访问成员

1.3结构体数组

**作用:**将自定义的结构体放入到数组中方便维护

语法: struct 结构体名 数组名[元素个数] = { {} , {} , ... {} }

#include
#include
using namespace std;
struct likes_idol 
{
	//成员列表
	string name;  //姓名
	string country;
	int age;      //年龄
	double height;    //身高(米) 
}; 

int main() {
     struct likes_idol h[3] = 
     {
     	{"白敬亭","China",28,1.83},
     	{"赵丽颖","China",32,1.65},
     	{"道枝骏佑","Japan",19,1.79}
	 };
	//结构体变量创建方式1
	for(int i;i < 3;i++)
	{
		cout<<h[i].name<<" "<<h[i].country<<" "<<h[i].height<<" "<<h[i].height<<endl;
	}
	system("pause");
	return 0;
}

输出:

白敬亭 China 1.83 1.83
赵丽颖 China 1.65 1.65
道枝骏佑 Japan 1.79 1.79
1.4 结构体指针

作用: 通过指针访问结构体中的成员

  • 利用 *** 作符 -> 可以通过结构体指针访问结构体属性
#include
#include
using namespace std;
struct likes_idol 
{
	//成员列表
	string name;  //姓名
	string country;
	int age;      //年龄
	double height;    //身高(米) 
}; 

int main() {
     struct likes_idol h[3] = 
     {
     	{"白敬亭","China",28,1.83},
     	{"赵丽颖","China",32,1.65},
     	{"道枝骏佑","Japan",19,1.79}
	 };
	 struct likes_idol *p = &h[0];
	//结构体变量创建方式1
	for(int i;i < 3;i++)
	{
		cout<<p->name<<" "<<p->country<<" "
		<<p->height<<" "<<p->height<<endl;
        p++;//指针依次访问h[i] 
	}
	system("pause");
	return 0;
}

输出:

白敬亭 China 1.83 1.83
赵丽颖 China 1.65 1.65
道枝骏佑 Japan 1.79 1.79
请按任意键继续. . .

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/577839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存