C/C++教程

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

本文主要是介绍【养成记】嵌入式挑战第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;
}

课程评价:

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

这篇关于【养成记】嵌入式挑战第14天,C语言中的函数:函数传参的数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!