C语言函数中如何返回一个结构体类型

Python022

C语言函数中如何返回一个结构体类型,第1张

如:

struct ststst{

    int a

    int b

    char c

}

struct ststst f1()

{

    /*写好代码*/

    struct ststst ss={3,5,'J'}

    return ss

}

你说的这种情况,函数返回的是整个结构体,无论这个结构体中包含了多少个成员,一个结构体就只是一个变量(结构体本身就是一个变量,无论它包含了多少个成员)。这样,函数返回一个结构体就意味着函数把结构体中所有的成员都返回了。C语言函数的确只能有一个返回值,用返回结构体的方式就很好地解决了需要返回多个返回值的问题。return后面没有0或1,说明这个函数是void类型的,这类函数本来就不需要有返回值,这里的return的意思并不是要返回某个值,而是退出这个函数的意思。

能只要在定义函数时,返回类型声明你要返回的类型就可以参考代码://#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}