继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第10天 物联网/嵌入式工程师学习笔记10

慕粉152226940
关注TA
已关注
手记 72
粉丝 7
获赞 43

【九月打卡】第10天 物联网/嵌入式工程师学习笔记10

课程信息

课程内容概述

1. 概述

  • 功能:我们在使用函数传参的时候,除了传递普通的变量外,在某些时刻不得不传递变量的地址。
  • 好处:传递变量的地址,通过指针接收,可用通过指针修改原变量的值。

2. 地址传递

2.1 概述

传递变量的地址,我们在使用的时候,就只能通过指针来接收了。

2.2 代码演示

//
// Created by au on 2022/9/14.
//
#include <stdio.h>


void calc_data(const int x, const int y, int * max_value, int * sum)
{
    if (x >= y) {
        *max_value = x;
    } else {
        *max_value = y;
    }
    *sum = x + y;
    return;
}

/**
 * 1.main()函数定义4个变量,int a,b,max_value,sum.要求用户从键盘输入2个数据赋值给a和b 。

2.设计一个叫做calc_data()函数,自定义返回值和参数,要求该函数中
求出a和b中的最大值,函数调用结束后,要求给main函数max_value存储的是两个数中较大的值。再求两个数的和,要求给main函数sum存储的两个数据的和。

3.在main函数中打印max_value和sum的值。
 * @return
 */
int main()
{
    int a,b,max_value,sum;

    printf("请输入两个整数:\n");
    scanf("%d%d", &a, &b);

    calc_data(a, b, &max_value, &sum);

    printf("您输入的两个数中较大的值为: %d\n", max_value);
    printf("您输入的两个数的和为: %d\n", sum);
}

运行结果

请输入两个整数:
7 4
您输入的两个数中较大的值为: 7
您输入的两个数的和为: 11


请输入两个整数:
23 16
您输入的两个数中较大的值为: 23
您输入的两个数的和为: 39

学习心得

C语言中的函数传参很重要,通过地址传参还可以灵活处理返回多参数的需求。

课程截图

1. 交换两个变量的值之值传递未能解决问题

图片描述

2. 交换两个变量的值之地址传递可以解决问题

图片描述

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP