8个回答
展开全部
能。主调函数必须用相同类型的结构体变量接收!举例代码如下:
//#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然能返回结构体的,不过是需要用指针来返回的.
下面我编写一个简单的实例,你就清楚了
#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
}
下面我编写一个简单的实例,你就清楚了
#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
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以.
例如常用的typedef 可以把结构体定义成一种新的"变量类型",语法上就同int,float这种简单变量类型一样. c语言函数就能return了.
例如常用的typedef 可以把结构体定义成一种新的"变量类型",语法上就同int,float这种简单变量类型一样. c语言函数就能return了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然能呀
只要在定义函数时,返回类型声明你要返回的类型就可以呵
只要在定义函数时,返回类型声明你要返回的类型就可以呵
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询