结构体数组函数调用(结构体数组可以作为函数参数)
http://www.itjxue.com 2023-01-29 19:24 来源:未知 点击次数:
结构体成员为数组,函数调用时是什么传递
如果函数的参数是结构体变量
那么一样是传值调用
整个结构体是一个整体
如果是结构体数组 或者结构体指针 那么是传指针调用。
定义了一个参数为结构体数组的函数,怎样才能在主函数中调用?
结构体的定义应该放在函数外面
#include?"stdafx.h"
#include?stdio.h
struct?sort
{
????double?dec;
????int?s,t;
};
void?creat(?struct?sort?savesort[])
{
??printf("______________________");
}
int?main(int?argc,?char*?argv[])
{
??????struct?sort?savesort[6];?
?creat(savesort);
return?0;
}
将结构体数组作为参数传递给函数后的调用问题
1、结构体数组传给指针,实质上是不可能的,本质上传的是数组首地址,根据偏移来操作数组,这样看起来好像是真在操作数组一样。就和普通指针一样使用,只不过它是结构体数组。
2、例程:
typedef?struct?Student
{
????char?name[10]?;
????int?age?;
}Student;
#define?LEN?10?
//print?all?Student?infomation
void?fun(Student?*pStu,int?len)
{
????int?i?;?
????for(i?=?0?;i??len?;++i)
????{
????????printf("%s\t%d",pStu[i].name,pStu[i].age)?;
????}
}
int?main?()
{
????Student?stu[LEN]?;
????fun(stu,LEN)?;
????
}
(责任编辑:IT教学网)
上一篇:高级感ID一个字(高级感id男)