C语言结构体传值-->传递结构体
结构体的传值方法一共有三种形式,通过传递结构体,传递指针,传递结构体自身参数。
结构体是一种特殊的数据类型,早期的C标准并不支持直接向函数中传递一个结构体,C99标准支持这样的形式
来看看以下代码:
/* *该实例程序用来显示如何在方法体中传递结构体参数 该传递参数的方法是通过直接传递结构体的形式对参数进行传递 getinfo()方法用于对结构体指针进行赋值操作 showinfo()方法用于对结构体进行输出 */ #include <stdio.h> #define MAX_SIZE 2 #define MAX_TITLE_SIZE 30 #define MAX_AUTHOR_SIZE 30 //构造一个Book 类型的结构体 /* *title 为char类型 author char 类型 price float 类型 */ struct Book { char title[MAX_TITLE_SIZE]; char author[MAX_AUTHOR_SIZE]; float price; }; struct Book getinfo(struct Book lib); struct Book showinfo(struct Book lib); int main() { struct Book lib; lib=getinfo(lib); showinfo(lib); return 0; } struct Book getinfo(struct Book lib) { printf ("输入该书名:\t"); gets(lib.title); printf("输入该作者名 \t"); gets(lib.author); printf("输入书的价格 \t"); scanf("%f",&lib.price); return lib; } struct Book showinfo(struct Book lib) { printf("The Book title is %s \t and the Book author is %s\t and the price is %f \t", lib.title,lib.author,lib.price); }
运行结果如下


浙公网安备 33010602011771号