C语言结构体指针变量作函数参数由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言结构体指针详解”。
C语言结构体指针变量作函数参数
在ANSI C标准中允许用结构变量作函数参数进行整体传送。但是这种传送要将全部成员逐个传送,特别是成员为数组时将会使传送的时间和空间开销很大,严重地降低了程序的效率。因此最好的办法就是使用指针,即用指针变量作函数参数进行传送。这时现金网96y.org由实参传向形参的只是地址,从而减少了时间和空间的开销。
计算一组学生的平均成绩和不及格人数。用结构指针变量作函数参数编程。
struct stu{
int num;
char *name;
char sex;
float score;
}boy[5]={
{101,Li ping,M,45},{102,Zhang ping,M,62.5},{103,He fang,F,92.5},{104,Cheng ling,F,87},{105,Wang ming,M,58}
};
main(){
struct stu *ps;
void ave(struct stu *ps);
ps=boy;
ave(ps);
}
void ave(struct stu *ps){
int c=0,i;
float ave,s=0;
for(i=0;i5;i++,ps++){
s+=ps-score;
if(ps-score60)c+=1;
}
printf(s=%fn,s);
ave=s/5;
printf(average=%fncount=%dn,ave,c);
}
本程序中定义了函数ave,其形参为结构指针变量ps。boy被定义为外部结构数组,因此在整个源程序中有效。在main函数中定义说明了结构指针变量ps,并把boy的首地址赋予它,使ps指向boy数组。然后博彩娱乐棋牌q07i5.org以ps作实参调用函数ave。在函数ave中完成计算平均成绩和统计不及格人数的工作并输出结果。
由于本程序全部采用指针变量作运算和处理,故速度更快,程序效率更高。
C语言函数指针变量在C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变......
实验一 C语言结构体与指针一、实验内容1) 学生信息的显示,具体要求如下: 定义一个结构体描述学生信息(学号,姓名,性别,年龄,住址); 设计一个函数,用于显示单个学生信息,函数的参数为......
C语言指向结构体数组的指针指针变量可以指向一个结构数组,这时结构指针变量的值是整个结构数组的首地址。结构指针变量也可指向结构数组的一个元素,这时结构指针变量的值是该......
C++的struct和cla差别很小,其实cla就是从struct发展出来的。struct定义的结构体在C++中也是一个类,结构体可以有cla的任何东西struct AA{public:int a;int b;private:int a;in......
MOVX 就是用来读写外部RAM的MOVC 读写外部ROM 可通过检测RI来判断RXD是否有信息C语言参考资料:指针类型和存储区的关系详解一、存储类型与存储区关系data ---> 可寻址片内ram......