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

来源:互联网 发布:steam无法连接到网络 编辑:程序博客网 时间:2024/05/22 11:55

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
此外,还可将结构体数组作为函数参数;还可设计结构体指针型函数,即返回的地址是指向结构体类型数据的。
原创粉丝点击