为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【九月打卡】第14天【养成记】嵌入式挑战第14天,C语...

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

2022.09.19 23:44 37浏览

课程章节:

课程名称:物联网/嵌入式工程师
章节名称:第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;
}

课程评价:

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

点击查看更多内容
0人点赞

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

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
11
获赞与收藏
0

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

50篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

146篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消