结构指针变量作为函数参数传递

发布时间:2022-12-12  

结构变量可以作为函数参数进行整体传递。传送过程:全部成员逐个传递。指针变量作函数参数进行传递。则实参传向形参的只是地址,从而减少了时间和空间的开销。


用结构指针变量作函数参数编程。

#include


#define STU struct stu


void ave(struct stu *ps);


STU //stu结构名

{

int num;

char *name;

char sex;

float score;

}boy[5]={

{101,"Zhou ping",'M',45},

{102,"Zhang ping",'M',62.5},

{103,"Liou fang",'F',92.5},

{104,"Cheng ling",'F',87},

{105,"Wang ming",'M',58},

}; //boy[5]是结构数组,该结构数组是stu类型。对结构数组赋初值。




int main()

{

struct stu *ps; //ps结构指针变量,指向boy[]结构数组的首地址。

ps=boy;

ave(ps); //ps作实参调用函数ave,完成计算。

}

void ave(struct stu *ps)

{

int c=0,i;

float ave,s=0; //s总分,ave平均分

for(i=0;i<5;i++,ps++) //ps++不能掉,不然在boy[1]循环5次。

{

s+=ps->score;

if(ps->score<60)

c+=1; //c不及格人数

}

printf("s=%fn",s);

ave=s/5;

printf("average=%fncount=%dn",ave,c);

}


形参是指针变量ps,boy被定义为外部结构数组,整个源程序有效。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    在调用时刻和返回时刻占用时间;   17、引用与指针的区别 1、非空区别:指针可以指向NULL,引用必须指向某个对象; 2、可修改区别:指针可以指向不同的对象引用总是指向初始化的对象; 3、合法性区别:在使用指......
    西门子博途:SET:置位字节数组指令参数及工作原理;说明 可以使用“置位位数组”指令,将指定区域中位的信号状态置位为“1”。在参数 S_BIT 中使用指针定义范围起点。如果指针指向外部 I/O 的存......
    界面设计的另一个关键是能够使用快速响应的用户输入模式,例如触摸屏和语音技术。   为了创建具有使用仪表板显示屏的 GUI 的实用且适销对路的嵌入式汽车应用程序,您必须能够成功解决所有这些问题。   直到近,现有的面向对象的 Java GUI 框架......
    对齐。 Bit Variables位变量 Bit类型的数量以使用单个位存放。位指针和位数组是不允许使用的。Bit对象总是放在8051CPU内部数据存储器的位可寻址区。如果可能的话,BL51 连接器/定位器会覆盖位对象......
    口驱动也采用了相似的思路: 1 ) 串口驱动用一个结构体描述, 这样只需在xc_shell.c中用指针指向这个TTYx_HANDLE结构体对象就可以将串口(tty)硬件与内核联系在一起, 聪明......
    ​了解VNA测量的12项误差模型和SOLT校准方法;模型是()测量系统误差建模的一种简单、有效的方法。在本文中了解此模型和相关的错误更正技术。本文引用地址:用户校准在最小化()测量......
    无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。 多态:就是......
    其妙地就变得糟糕的不行。但我认为它是强大的符号,它可以帮助我们清楚地自我表达。 思考:当有指针指向对象时,对于那个对象,确切地说它只是名称,其它什么也不是。听起来很琐碎,但看......
    Java替代C语言的可能性(2024-11-11 15:29:44)
    膀子抓肉,撸起袖子抹油。而在Java中,你经常为了要干某件事,先new一个对象,然后以这个对象为参数new另一个对象,如此这般重复n遍,得到真正需要的对象,最后就是为了调用那个对象的一个方法,就好......
    数a,b入栈,即根据CPU SP寄存器的值,把a、b的值存入SP指向的地址,并把SP减1(栈通常从高地址向低地址生长)。注意是减一不是加一cpu把pc寄存器的值指向子函数的地址,则下......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>