写点什么

定义结构体访问结构成员的三种方法

用户头像
Emotion
关注
发布于: 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.使用指针变量要注意访问对象的符号。(如下图)



用户头像

Emotion

关注

仗贱走天涯! 2021.03.22 加入

还未添加个人简介

评论

发布
暂无评论
定义结构体访问结构成员的三种方法