结构体数组函数调用(结构体数组可以作为函数参数)

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教学网)

更多

推荐CSS教程文章