wnlt.net
当前位置:首页 >> 求高手指教C语言函数怎么返回结构体 >>

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

#include "stdio.h" struct abc{ int a; int b; char *p; }; struct abc myabc(void){ struct abc n; n.a=2; n.b=3; n.p=(char *)0x00FF3304; return n; } void main(void) { struct abc x={1,2,(char *)0x00FF3300},y; y=myabc(); printf("%d %d %p\n%d %d %p\n",

这样写:STR_POINT * f(){STR_POINT *p, a[10];……p=&a[0];return(p);}将会返回你这个数组的首地址,这样就可以访问这个数组了……

函数返回类型设为结构体的类型,直接返回即可.

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

struct

首先打开文件将数据读入到结构体数组中,然后用memset()将结构体数组全部清空,写入文件.这样就清空了数据,然后再重新输入新的数据,写入文件.不知道是不是您的意思.

没错吧,注意一下中文字符

可以设置全局变量返回.在函数里改变了值,其他引用也会变化,也可以用指针传递.祝您周末愉快~

不知道你是用的 C 还是 C++,你的结构定义在标准 C 是通不过的,以下代码按 C 定义 在TC 2.0和 VS2013下均编译通过,运行结果正确. #include "stdio.h"#include "conio.h"typedef struct owner{ char author[10]; char ID[20]; char major[20];

struct student_s{ char num[20]; char name[20]; float score[3]; float avg;}student[10];void input(){ for (int i=0;i<10;i++) { printf("第%d个学生姓名:",i+1); scanf("%s",student[i].name); printf("第%d个学生学号:",i+1); scanf("%s",

网站首页 | 网站地图
All rights reserved Powered by www.wnlt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com