结构体

#include <iostream>
#include <cstring>

using namespace std;

// 声明一个结构体类型 Books,相当于 Java 中的类
struct Books
{
	char title[50];
	char author[50];
	char subject[100];
	int book_id;
};

int main()
{
	// 定义结构体类型 Books 的变量 Book1
	Books book1;
	// 定义结构体类型 Books 的变量 Book1
	Books book2;

	// book1 详述
	strcpy_s(book1.title, "C++ 教程");
	strcpy_s(book1.author, "Runoob");
	strcpy_s(book1.subject, "编程语言");
	book1.book_id = 1;

	// book2 详述
	strcpy_s(book2.title, "CSS 教程");
	strcpy_s(book2.author, "Peter");
	strcpy_s(book2.subject, "前端技术");
	book2.book_id = 2;

	// 输出 Book1 信息
	cout << "第一本书 --> 标题:" << book1.title << "\t作者:" << book1.author 
		<< "\t题目:" << book1.subject << "\t编号:" << book1.book_id << endl;
	// 输出 Book2 信息
	cout << "第二本书 --> 标题:" << book2.title << "\t作者:" << book2.author
		<< "\t题目:" << book2.subject << "\t编号:" << book2.book_id << endl;

	system("pause");
	return 0;
}

 输出:

 结构体入参:

#include <iostream>
#include <cstring>

using namespace std;

// 声明一个结构体类型 Books,相当于 Java 中的类
struct Books
{
	char title[50];
	char author[50];
	char subject[100];
	int book_id;
};

// 结构体传参入函数参数中
void printBook(struct Books book);

int main()
{
	// 定义结构体类型 Books 的变量 Book1
	Books book1;
	// 定义结构体类型 Books 的变量 Book1
	Books book2;

	// book1 详述
	strcpy_s(book1.title, "C++ 教程");
	strcpy_s(book1.author, "Runoob");
	strcpy_s(book1.subject, "编程语言");
	book1.book_id = 1;

	// book2 详述
	strcpy_s(book2.title, "CSS 教程");
	strcpy_s(book2.author, "Peter");
	strcpy_s(book2.subject, "前端技术");
	book2.book_id = 2;

	// 函数调用
	printBook(book1);
	printBook(book2);

	system("pause");
	return 0;
}

// printBook()函数的实现
void printBook(struct Books book)
{
	// 输出 Book 信息
	cout << "标题:" << book.title << "\t作者:" << book.author
		<< "\t题目:" << book.subject << "\t编号:" << book.book_id << endl;
}

 输出:

 以指针形式入参:

#include <iostream>
#include <cstring>

using namespace std;

// 声明一个结构体类型 Books,相当于 Java 中的类
struct Books
{
	char title[50];
	char author[50];
	char subject[100];
	int book_id;
};

// 以指针的形式入参
void printBook(struct Books *book);

int main()
{
	// 定义结构体类型 Books 的变量 Book1
	Books book1;
	// 定义结构体类型 Books 的变量 Book1
	Books book2;

	// book1 详述
	strcpy_s(book1.title, "C++ 教程");
	strcpy_s(book1.author, "Runoob");
	strcpy_s(book1.subject, "编程语言");
	book1.book_id = 1;

	// book2 详述
	strcpy_s(book2.title, "CSS 教程");
	strcpy_s(book2.author, "Peter");
	strcpy_s(book2.subject, "前端技术");
	book2.book_id = 2;

	// 函数调用
	printBook(&book1);
	printBook(&book2);

	system("pause");
	return 0;
}

// printBook()函数的实现
void printBook(struct Books *book)
{
	// 输出 Book 信息
	cout << "标题:" << book->title << "\t作者:" << book->author
		<< "\t题目:" <<book->subject << "\t编号:" << book->book_id << endl;
}

 

 

posted @ 2017-11-15 00:18  半生戎马,共话桑麻、  阅读(97)  评论(0)    收藏  举报
levels of contents