c语言结构体调用成员函数,c语言结构体函数调用参数如何设置
c语言结构体函数调用参数怎么设置
函数结构是下面的代码,main函数中如何调用showinfo函数,参数应该怎么设置,对参数的设置不太明白
C/C++ code#include
#define SIZE 5
#define LEN 40
struct birth
{
int year;
int month;
};
struct student
{
int num;
char name[LEN];
int age;
char sex[LEN];
struct birth stu;
};
struct student getinfo(struct student *,int);
struct student showinfo(struct student);
int main(void)
{
int n=0;
int i;
struct student st[SIZE];
struct student *pst=st;
while(n
{
st[n]=getinfo(st,n);
n++;
}
for(n=0;n
{
showinfo(pst,n);
}
return 0;
}
struct student getinfo(struct student *temp,int n)
{
int i;
printf("NO is %d\n",n+1);
temp[n].num=n+1;
printf("please input the name:\n");
scanf("%s",temp[n].name);
printf("please input the age:\n");
scanf("%d",&temp[n].age);
printf("please enter sex(0 is boy, 1 is girl)");
scanf("%d",&i);
strcpy(temp[n].sex,(i==0)?"boy":"girl");
printf("please input the birth:\n");
scanf("%d%d",&temp[n].stu.year,&temp[n].stu.month);
}
struct student showinfo(struct student *pst,int n)
{
printf("%d %s %d %s %d-%d \n",(pst+n)->num,(pst+n)->name,(pst+n)->age,(pst+n)->sex,(pst+n)->stu.year,(pst+n)->stu.month);
}
------解决方案--------------------
struct student showinfo(struct student, int n);//声明的时候差个参数,第一个参数差个指针。其实返回值用空就行了。建议写成void showinfo(struct student *temp, int n);//实现函数部分也要对应修改。main里面调用showinfo没有问题。
------解决方案--------------------
C/C++ code#include
#define SIZE 2
#define LEN 40
struct birth
{
int year;
int month;
};
struct student
{
int num;
char name[LEN];
int age;
char sex[LEN];
struct birth stu;
};
void getinfo(struct student *,int);//
void showinfo(struct student *);//
int main(void)
{
int n=0;
int i;
struct student st[SIZE];
struct student *pst=st;
while(n
{
//st[n]=getinfo(st,n);
getinfo(st,n);
n++;
}
for(n=0;n
{
showinfo(pst,n);
}
return 0;
}
void getinfo(struct student *temp,int n)//
{
int i;
printf("NO is %d\n",n+1);
temp[n].num=n+1;
printf("please input the name:\n");
scanf("%s",temp[n].name);
printf("please input the age:\n");
scanf("%d",&temp[n].age);
printf("please enter sex(0 is boy, 1 is girl)");
scanf("%d",&i);
strcpy(temp[n].sex,(i==0)?"boy":"girl");
printf("please input the birth:\n");
scanf("%d%d",&temp[n].stu.year,&temp[n].stu.month);
}
void showinfo(struct student *pst,int n)//
{
printf("%d %s %d %s %d-%d \n",(pst+n)->num,(pst+n)->name,(pst+n)->age,(pst+n)->sex,(pst+n)->stu.year,(pst+n)->stu.month);
}
c语言结构体调用成员函数,c语言结构体函数调用参数如何设置相关推荐
- struct结构体扩展-成员函数
struct结构体扩展-成员函数 在C++中,允许在结构中定义函数,该函数被称为成员函数,描述形式如下: struct 结构名{数据成员成员函数 } 例题描述: 输入n个学生的信息,每个学生信息包括姓 ...
- 三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰
三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰,简洁明了. 通过结构体和函数块的使用,可以使您在程序编写水平得到很大提高. ST语言是PLC后续的主流语言,是日后编程 ...
- 【C++】空指针调用成员函数及访问成员变量
最近在review代码的时候发现,使用了空指针调用成员函数,并且成员函数内部有使用到成员变量,居然没有出错.很是奇怪,就用一篇博客把关于空指针调用成员函数相关的内容总结起来. 空指针调用成员函数 调用 ...
- C语言中连续调用rand函数,返回值不变
C语言中连续调用rand函数,返回值不变 最近用C语言随机函数编程发现了一个奇怪的现象: 简易版代码: #include<stdio.h> #include<stdlib.h> ...
- php调用成员函数错误,PHP致命错误:在非对象上调用成员函数exec...
我收到错误PHP致命错误:每当我调用类似的东西时,都在非对象上调用成员函数execute(),该对象引用-.-> execute()行. $select_str = 'select id, st ...
- php函数param太多,关于php:在非对象上调用成员函数bind_param()
本问题已经有最佳答案,请猛点这里访问. 我正在尝试在此准备好的语句中绑定变量,但我一直收到错误: Call to a member function bind_param() on a non-obj ...
- 类的成员函数指针和静态成员函数指针 调用成员函数***
C++提供static这个关键词对静态成员进行声明,静态成员函数和类的实例化无关,对于同一类来说,静态成员函数是所有类的对象共享的.而普通成员函数需要实例化才能调用,对于每一个实例来说,普通成员函数是 ...
- R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数
R语言merge函数全连接dataframe数据(Full (outer) join).merge函数进行全连接必须将参数all设置为true(all=TRUE).默认merge函数通过公共列名合并数 ...
- R语言使用plot函数可视化数据、使用type参数自定义设置可视化的类型(数据点和线关系的类型)、设置type参数为s则为阶梯状显示
R语言使用plot函数可视化数据.使用type参数自定义设置可视化的类型(数据点和线关系的类型).设置type参数为s则为阶梯状显示 目录
最新文章
- CPaintDC和CClientDC的区别
- sql语句中动态变量中间含有单引号
- Leetcode PHP题解--D6 595. Big Countries
- 微服务(MicroServices)
- MyBatis使用log4j输出日志
- 【早知云世】当AI遇上云计算,其应用短板与长处
- rabbitmq 延迟队列的实现(PHP)http://blog.yuhai.win
- 复杂网络学习的一些常用数据集
- 开发跨境电商/外贸商城网站需要考虑的事项
- 一、Fiddler抓包工具 — Fiddler介绍与安装
- rocketMQ报错:No accessKey is configured
- Qt学习笔记之Qt软件的打包发布
- 阿里接口调用——智能植物识别(含花卉与杂草)
- SPSS多元线性回归输出结果的详细解释
- 第十届蓝桥杯大赛软件赛省赛——Java大学A组
- 发布“智能化、平台化、全程电子化”的新OA系统——e-cology9.0
- 010 火狐浏览器插件中,没有Xpath怎么办
- hihocoder 1014
- 程序员的乐趣是什么?
- [AHK]Excel 怎么使用鼠标滚轮控制表格左右移动