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

万一成员个数是大于1的,那岂不是函数返回只会有多个。但是C语言函数只能有一个返回值啊。还有有些程序里在最后写一个return;并没有写0或1,而是什么都没写。这样写的作用... 万一成员个数是大于1的,那岂不是函数返回只会有多个。但是C语言函数只能有一个返回值啊。还有有些程序里在最后写一个return ;并没有写0或1,而是什么都没写。这样写的作用是什么? 展开
 我来答
我狂我笑001
推荐于2017-09-18 · TA获得超过711个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:369万
展开全部
你说的这种情况,函数返回的是整个结构体,无论这个结构体中包含了多少个成员,一个结构体就只是一个变量(结构体本身就是一个变量,无论它包含了多少个成员)。这样,函数返回一个结构体就意味着函数把结构体中所有的成员都返回了。C语言函数的确只能有一个返回值,用返回结构体的方式就很好地解决了需要返回多个返回值的问题。
return后面没有0或1,说明这个函数是void类型的,这类函数本来就不需要有返回值,这里的return的意思并不是要返回某个值,而是退出这个函数的意思。
追问
O(∩_∩)O谢谢
林柯伊南
2013-09-14 · TA获得超过151个赞
知道答主
回答量:149
采纳率:0%
帮助的人:80.2万
展开全部
可以返回一个结构类型指针,这样就可以在main函数中访问其他函数中定义的结构的所有成员。。。比如如下代码:
#include <stdio.h>
struct stu
{
int num;
char name[10];
};
typedef struct stu Node;
void* func()
{
Node *p;
char ch[]="Dani";
p->num = 20;
printf("请输入名字:");
gets(p->name); //输入名字
return (Node*)p; //返回Node型的指针
}
int main()
{
Node *q;
q = func(); //将func()函数返回的指针传给q
printf("num = %d name = %s\n",q->num,q->name);
return 0;
}
追问
O(∩_∩)O谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式