专栏首页陶士涵的菜地[编程] C语言结构体指针作为函数参数

[编程] C语言结构体指针作为函数参数

结构体指针作为函数参数: 结构体变量名代表的是整个集合本身,作为函数参数时传递的整个集合,也就是所有成员,而不是像数组一样被编译器转换成一个指针。如果结构体成员较多,尤其是成员为数组时,传送的时间和空间开销会很大,影响程序的运行效率。所以最好的办法就是使用结构体指针,这时由实参传向形参的只是一个地址,非常快速。

#include<stdio.h>
struct stu{
        char *name;
        int score;
} stus[]={
        {"zhangsan1",65},
        {"zhangsan2",98}
};
void averge(struct stu *,int);
int main(){

        int len=sizeof(stus)/sizeof(struct stu);
        printf("start...\n");
        //数组名可以认为是一个指针
        averge(stus,len);

}
void averge(struct stu *stus,int len){
        char *name;
        int score;
        int sum=0;
        for(int i=0;i<len;i++){
                name=stus[i].name;//第一种形式
                score=(*(stus+i)).score;//第二种形式
                sum+=score;
                printf("%s...%d \n",name,score);
        }   
    
        printf("平均分:%d...\n",sum/len);
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [C语言] 数据结构-预备知识动态内存分配

    int *parr=(int *)malloc(sizeof(int) * len);

    陶士涵
  • [android] 轮播图-无限循环

    在getCount()方法中,返回一个很大的值,Integer.MAX_VALUE

    陶士涵
  • [C语言] 数据结构-离散存储链表定义

    陶士涵
  • data_structure_and_algorithm -- 如何找到字符串中最长回文子串: python & java实现

    Given a string s, find the longest palindromic substring in s. You may assume th...

    MachineLP
  • 1074 宇宙无敌加法器 (20 分)

    地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每...

    可爱见见
  • 仿支付宝手势密码

    这篇来分享一下绘制手势密码的实现(主要是设置手势密码、校验手势密码): 一、大致界面介绍: ? ?                        图1  ...

    xiangzhihong
  • R语言处理缺失数据的高级方法

    主要用到VIM和mice包 [plain] view plain install.packages(c("VIM","mice")) 1.处理缺失值的步骤 ...

    机器学习AI算法工程
  • 工作流引擎之activiti6流程节点自由跳转实现

    在中国式的流程需求中,诸如驳回,退回功能需要进行流程跳转,比如领导审批不通过,退回到申请人。这种中国式的流程需求,可以通过以下三种方式实现

    lyb-geek
  • 公网端口不够用,用这款神器轻松搞定它!

    一些互联网服务提供商或公司可能已经阻止了大多数网络端口,并且只允许使用少数特定端口(如:80 和 443)来进行服务访问,以加强其安全性。 在这种情况下,如果...

    iMike
  • Java每日一练(2017/7/31)

    本期题目: (单选题)1、类Car里面有个方法run(),如果直接用Car.run(),则方法run前面必须用的关键词是? ( ) A class B fi...

    Java学习

扫码关注云+社区

领取腾讯云代金券