定义结构体访问结构成员的三种方法
发布于: 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 加入
还未添加个人简介
评论