定义结构体访问结构成员的三种方法
发布于: 2021 年 03 月 25 日
定义结构体访问结构成员的两种方法
一、第 1 种方法
访问成员运算符代码如下(示例):
#include <iostream> #include <cstring>using namespace std;struct Books{ char title[50]; char author[50]; char subject[100];};int main(){ Books Book1;//定义结构类型的变量BOOK1 Books Book2;//定义结构类型的变量BOOK2 // Book1 详述 strcpy( Book1.title, "C++ 教程"); strcpy( Book1.author, "Runoob"); strcpy( Book1.subject, "编程语言"); // Book2 详述 strcpy( Book2.title, "CSS 教程"); strcpy( Book2.author, "Runoob"); strcpy( Book2.subject, "前端技术"); //输出BOOK1的信息 cout<<"第一本书的标题:" <<Book1.title<<endl; cout<<"第一本书的作者:" <<Book1.author<<endl; cout<<"第一本书的科目:" <<Book1.subject<<endl; //输出BOOK1的信息 cout<<"第二本书的标题:" <<Book2.title<<endl; cout<<"第二本书的作者:" <<Book2.author<<endl; cout<<"第二本书的科目:" <<Book2.subject<<endl;}
复制代码
二、第 2 种方法
通过变量访问结构的成员代码如下(示例):
#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;}
复制代码
三、第 3 种方法
通过指针访问结构的成员代码如下(示例):
#include <iostream>#include <cstring> using namespace std;void printBook( struct Books *book ); 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 的地址来输出 Book1 信息 printBook( &Book1 ); // 通过传 Book2 的地址来输出 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;}
复制代码
注意
1.CString 离开 VC++不能用,string 在任何支持 C++的 IDE 中都能用。2.Strpy()//将一个字符串的所有元素复制到另一个字符串。3.使用指针变量要注意访问对象的符号。(如下图)
划线
评论
复制
发布于: 2021 年 03 月 25 日阅读数: 14
Emotion
关注
仗贱走天涯! 2021.03.22 加入
还未添加个人简介











评论