C语言用结构体指针作函数参数

本文介绍使用结构体指针作为函数参数的方法及其优势,包括减少内存占用、提高效率等,并通过示例代码展示了如何操作结构体成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        这种方式比用结构体变量作函数参数效率高,因为无需传递各个成员的值,只需传递一个地址,且函数中的结构体成员并不占据新的内存单元,而与主调函数中的成员共享存储单元。这种方式还可通过修改形参所指成员影响实参所对应的成员值。
 例如
struct book
  {
  char bookname[30];
  int quantity;
  };
 main()
 {
  void fun(struct book*p);
  struct book book1={"Programming in C",10};
  fun(&book1);
  printf("%d copies\n", book1.quantity);
 }
 void fun(struct book*p)
 {
  printf("The book \" %s\" has ",p->bookname);
  p->quantity -=3;
 }


  
显示:The book "Programming in C" has 7 copies
 此外,还可将结构体数组作为函数参数;还可设计结构体指针型函数,即返回的地址是指向结构体类型数据的。

本篇文章来源于 黑客基地-全球最大的中文黑客站 原文链接:http://www.hackbase.com/tech/2009-02-02/44971.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值