c语言函数能不能返回结构体
发布网友
发布时间:2022-04-20 04:04
我来回答
共5个回答
热心网友
时间:2023-08-31 20:59
c语言函数可以返回结构体,操作方法如下:
1、首先在电脑中打开visual studio新建项目,给这个结构体取个名字叫student。
2、然后添加变量,如下图所示。
3、然后给结构体类型指针p申请堆空间,如下图所示。
4、接着使用for循环给结构体赋值,如下图所示。
5、最后在通过for循环打印输出,这样就完成就结构体的基本创建,结尾不要忘了使用free(p):释放申请的堆空间。
热心网友
时间:2023-08-31 21:00
能。主调函数必须用相同类型的结构体变量接收!举例代码如下:
//#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;
}
热心网友
时间:2023-08-31 21:00
当然能返回结构体的,不过是需要用指针来返回的.
下面我编写一个简单的实例,你就清楚了
#include<stdio.h>
struct lab
{
char a;
char b;
char c;
};
struct lab Lab_Val={0,1,2}; //声明结构体变量
struct lab *pLab; //声明结构体指针
//----返回结构体指针,之后就可以用该指针访问结构体中所有的变量了
struct lab *test(struct lab *pStruct)
{
pStruct->a=pStruct->a+1;
pStruct->b=pStruct->b+2;
pStruct->c=pStruct->c+3;
return(pStruct);
}
//==============================================================
void main(void)
{
char i,j,k;
pLab = test(&Lab_Val); //调用函数
i=pLab->a; //引用指针,i=1
j=pLab->b; //j=3
k=pLab->c; //k=5
}
热心网友
时间:2023-08-31 21:01
可以.
例如常用的typedef 可以把结构体定义成一种新的"变量类型",语法上就同int,float这种简单变量类型一样. c语言函数就能return了.
热心网友
时间:2023-08-31 21:02
当然能呀
只要在定义函数时,返回类型声明你要返回的类型就可以呵