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

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


这种方式比用结构体变量作函数参数效率高,因为无需传递各个成员的值,只需传递一个地址,且函数中的结构体成员并不占据新的内存单元,而与主调函数中的成员共享存储单元。这种方式还可通过修改形参所指成员影响实参所对应的成员值。
 例如
 
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
此外,还可将结构体数组作为函数参数;还可设计结构体指针型函数,即返回的地址是指向结构体类型数据的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值