c语言中返回结构体的函数(结构体可以被赋值,类型相同的结构体可以相互赋值)
1、
#include <stdio.h> struct xyz{ int x; long y; double z; }; struct xyz fun(int a, long b, double c) //函数的返回类型为struct xyz型 { struct xyz tmp; //声明结构体对象tmp tmp.x = a; // 为结构体对象的成员赋值 tmp.y = b; tmp.z = c; return tmp; // 返回结构体对象tmp } int main(void) { struct xyz result = {10, 30, 3.8}; // 声明结构体对象result result = fun(200, 400, 88.8); //相同类型的结构体对象之间可以相互赋值,result结构体对象和fun函数返回的结构体对象都是 struct xyz型,因此可以相互赋值。 printf("result.x: %d\n", result.x); printf("result.y: %ld\n", result.y); printf("result.z: %.2f\n", result.z); return 0; }