首页 编程 C/C++ 查看内容

c++教程22:C++ 数据结构

2021-8-11 17:10 1560 0

摘要: C++数据结构C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能 ...
关键词: Book 结构 变量 定义 类型 本书 strcpy C++ 指针 cout

C++ 数据结构
C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。
结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:
  • Title :标题
  • Author :作者
  • Subject :类目
  • Book ID :书的 ID

定义结构
为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:
struct type_name {member_type1 member_name1;member_type2 member_name2;member_type3 member_name3;..} object_names;


type_name 是结构体类型的名称,member_type1 member_name1 是标准的变量定义,比如 int i; 或者 float f; 或者其他有效的变量定义。在结构定义的末尾,最后一个分号之前,您可以指定一个或多个结构变量,这是可选的。下面是声明一个结构体类型 Books,变量为 book
struct Books{   char  title[50;   char  author[50;   char  subject[100;   int   book_id;} book;


访问结构成员
为了访问结构的成员,我们使用成员访问运算符(.)。成员访问运算符是结构变量名称和我们要访问的结构成员之间的一个句号。
下面的实例演示了结构的用法:
实例#include <iostream>#include <cstring> using namespace std// 声明一个结构体类型 Books struct Books{   char  title[50;   char  author[50;   char  subject[100;   int   book_id;}int main( ){   Books Book1;        // 定义结构体类型 Books 的变量 Book1   Books Book2;        // 定义结构体类型 Books 的变量 Book2    // Book1 详述   strcpy( Book1.title"C++ 教程");   strcpy( Book1.author"Runoob");    strcpy( Book1.subject"编程语言");   Book1.book_id = 12345;    // Book2 详述   strcpy( Book2.title"CSS 教程");   strcpy( Book2.author"Runoob");   strcpy( Book2.subject"前端技术");   Book2.book_id = 12346;    // 输出 Book1 信息   cout << "第一本书标题 : " << Book1.title <<endl;   cout << "第一本书作者 : " << Book1.author <<endl;   cout << "第一本书类目 : " << Book1.subject <<endl;   cout << "第一本书 ID : " << Book1.book_id <<endl;    // 输出 Book2 信息   cout << "第二本书标题 : " << Book2.title <<endl;   cout << "第二本书作者 : " << Book2.author <<endl;   cout << "第二本书类目 : " << Book2.subject <<endl;   cout << "第二本书 ID : " << Book2.book_id <<endl;    return 0;}


实例中定义了结构体类型 Books 及其两个变量 Book1 和 Book2。当上面的代码被编译和执行时,它会产生下列结果:
第一本书标题 : C++ 教程第一本书作者 : Runoob第一本书类目 : 编程语言第一本书 ID : 12345第二本书标题 : CSS 教程第二本书作者 : Runoob第二本书类目 : 前端技术第二本书 ID : 12346结构作为函数参数
您可以把结构作为函数参数,传参方式与其他类型的变量或指针类似。您可以使用上面实例中的方式来访问结构变量:
实例#include <iostream>#include <cstring> using namespace std;void printBook( struct Books book )// 声明一个结构体类型 Books struct Books{   char  title[50;   char  author[50;   char  subject[100;   int   book_id;}int main( ){   Books Book1;        // 定义结构体类型 Books 的变量 Book1   Books Book2;        // 定义结构体类型 Books 的变量 Book2     // Book1 详述   strcpy( Book1.title"C++ 教程");   strcpy( Book1.author"Runoob");    strcpy( Book1.subject"编程语言");   Book1.book_id = 12345;    // Book2 详述   strcpy( Book2.title"CSS 教程");   strcpy( Book2.author"Runoob");   strcpy( Book2.subject"前端技术");   Book2.book_id = 12346;    // 输出 Book1 信息   printBook( Book1 );    // 输出 Book2 信息   printBook( Book2 );    return 0;}void printBook( struct Books book ){   cout << "书标题 : " << book.title <<endl;   cout << "书作者 : " << book.author <<endl;   cout << "书类目 : " << book.subject <<endl;   cout << "书 ID : " << book.book_id <<endl;}


声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部