为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第14天【养成记】嵌入式挑战第14天,C语言中的函数:函数传参的数组

标签:
嵌入式

课程章节:

课程名称:物联网/嵌入式工程师
章节名称:第4周之第四讲 1-8 至 1-10 C语言中的函数:函数传参的数组
讲师姓名:大白老师

课程内容:

C语言中的函数:函数传参的数组

数组的传递

数组

本质:函数传参的本质是变量间的赋值操作,数组名本质是首元素的地址,传递数组的首地址,我们定义指针来接收接口。

代码示例

#include <stdio.h>

// int *p = a;
void input_array(int *p,const int plen)
{
    int i = 0;
    printf("please input %d data : ",plen);
    for(i = 0;i < plen;i++)
    {
        scanf("%d",&p[i]);        
    }
}

// int *p = a;
void output_array(int *p,const int plen)
{
    int i = 0;
    for(i = 0;i < plen;i++)
    {
        printf("%d ",p[i]);
    }
    printf("\n");
    return;
}

int main(void)
{
    int a[5] = {0};
    int len = sizeof(a)/sizeof(a[0]);

    input_array(a,len);
    output_array(a,len);

    return 0;
}

学习笔记:

#include <stdio.h>

void input_array(int *pInt, const int pLength) {
    printf("请输入%d个数组元素:\n", pLength);
    for (int i = 0; i < pLength; ++i) {
        scanf("%d", &pInt[i]);
    }
    return;
}

void output_array(int *pInt, const int pLength) {
    for (int i = 0; i < pLength; ++i) {
        printf("%d \t", pInt[i]);
    }
    printf("\n");
    return;
}

int find_max(int *pInt, const int pLength) {
    int max = pInt[0];
    for (int i = 0; i < pLength; ++i) {
        max = max > pInt[i] ? max : pInt[i];
    }
    return max;
}

int main() {
    int a[5] = {0};
    int length = sizeof(a) / sizeof(a[0]);
    int max = 0;

    input_array(a, length);
    output_array(a, length);

    max = find_max(a, length);

    printf("max = %d\n", max);
    return 0;
}

课程评价:

通过函数传参数组方式,明白了传递的是指针而不是真数组。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消