C语言中函数如何返回结构体?

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中函数如何返回结构体?相关的知识,希望对你有一定的参考价值。

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "string.h"
struct ABC{
    char name[20];
    int n;
};
struct ABC myfun(void){
    struct ABC x={"Lining",99};//声明一个结构体局部变量x并初始化
    return x;//返回局部变量结构体x
}
int main(void){
    struct ABC y=myfun();//声明一个同类型结构体变量y并将函数返回值赋给它
    printf("%s %d\\n",y.name,y.n);//打出来看看
    return 0;
}

运行结果:

Lining 99

但myfun函数调用会频繁生成释放内存空间,增加内存消耗

参考文章:c语言函数能不能返回结构体

以上是关于C语言中函数如何返回结构体?的主要内容,如果未能解决你的问题,请参考以下文章

c语言函数能不能返回结构体

C语言中函数如何返回结构体?

C语言结构体函数的返回值是结构体结构体变量中的信息

C语言结构体函数的返回值是结构体结构体变量中的信息

求高手指教c语言函数怎么返回结构体

c语言中函数返回值可以是数组、字符串和结构体吗?