C语言学习——结构体数据类型

本章节比较简单不做过多说明,直接上案例,如有疑问,欢迎留言。

结构体作为函数参数

#include <stdio.h>
#include <string.h>

struct Books
{
	char name[50]; 
	char author[50]; 
	int book_id;
};

// 函数声明
void printBook(struct Books *book); 
// 结构体指针变量 必须得到结构体变量的地址(分配地址)同类型

int main()
{
	struct Books Book1; 	// 声明 Book1,类型为 Books 
	struct Books Book2; 	// 声明 Book2,类型为 Books 

	// Book1 详述 
	strcpy_s(Book1.name, 50, "C Programming"); 
	strcpy_s(Book1.author, 50, "Vico"); 
	Book1.book_id = 1006; 
	
	// Book2 详述
	strcpy_s(Book2.title,50, "C++ Programming"); 
	strcpy_s(Book2.author,50, "Sail"); 
	Book2.book_id = 1007;

	// 通过传 Book1 的地址来输出 Book1 信息
	printBook(&Book1); 
	printf("\n"); 
	// 通过传 Book2 的地址来输出 Book2 信息 
	printBook(&Book2); 
	return 0; 
}

void printBook(struct Books *book) 
{ 
	printf("Book title : %s\n" , book->name); 
	printf("Book author : %s\n" , book->author); 
	printf("Book book_id : %d\n" , book->book_id); 
}

结果如下;
在这里插入图片描述

在这里插入图片描述

发布了22 篇原创文章 · 获赞 26 · 访问量 510

猜你喜欢

转载自blog.csdn.net/weixin_45525272/article/details/104297607