c语言中返回结构体的函数

c语言中返回结构体的函数。(相同类型的结构体可以相互赋值。)。

1、

#include <stdio.h>

struct xyz{
    int x;
    long y;
    double z;
};

struct xyz fun(int a, long b, double c)
{
    struct xyz tmp;  // 创建临时结构体 
    
    tmp.x = a;
    tmp.y = b;
    tmp.z = c;
    
    return tmp;
}

int main(void)
{
    struct xyz result = {100, 200, 300};
    
    result = fun(1111,33333,8888.34);  // 函数中的tmp结构体和result结构体类型均为 struct xyz型,因此可以相关赋值。 
    
    printf("result.x = %d
", result.x);
    printf("result.y = %ld
", result.y);
    printf("result.z = %.1f
", result.z);
    
    return 0; 
}

原文地址:https://www.cnblogs.com/liujiaxin2018/p/14848288.html