第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【九月打卡】第16天【養(yǎng)成記】嵌入式挑戰(zhàn)第16天,C語(yǔ)言中的函數(shù):函數(shù)傳參地址的地址傳遞

標(biāo)簽:
嵌入式

课程章节:

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

课程内容:

C语言中的函数:函数传参地址的地址传递

C语言的函数传参

普通变量地址的传递

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

代码示例

#include <stdio.h>

/*
//int x = a;
//int y = b;
void change_value(int x,int y)
{
    int t = 0;
    t = x;
    x = y;
    y = t;
    return ;
}
*/

// 传参的本质:变量之间的赋值操作
// int *x  =  &a;
// int *y  =  &b;
// 优点:传递变量的地址,定义指针接收,可以通过指针修改原来变量的值.
void change_value(int *x,int *y)
{
//    printf("*x = %d *y = %d\n",*x,*y);
//
//    *x = 222;
//    *y = 777;
    int t;
    t = *x;
    *x = *y;
    *y = t;
    return ;
}


// 功能:求a 和 b的和与差,并要求在主函数打印
// 逆向传参:把函数内部获得数据,逆向传递给调用者。
//           需要传递指针才能实现其操作.
//
// int x = a;
// int y = b;
// int *m = &ret1; // m <===>&ret1  *m <===>ret1
// int *n = &ret2;
void do_calc(const int x,const int y,int *m,int *n)
{
    int sum1 = 0,sum2 = 0;

    sum1 = x + y;
    sum2 = x - y;
    
    *m = sum1;
    *n = sum2;

    return ;
}


int main()
{
    int a = 0,b = 0;
    int ret1 = 0,ret2 = 0;
    int t = 0;
    printf("please input two data : ");
    scanf("%d%d",&a,&b);

    // printf("1.a = %d b = %d\n",a,b);

    // change_value(&a,&b);

    // printf("2.a = %d b = %d\n",a,b);

    do_calc(a,b,&ret1,&ret2);

    printf("a + b = %d\n",ret1);
    printf("a - b = %d\n",ret2);
    return 0;
}

执行结果:
100-fun-change

课后任务

练习

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的值。

代码

#include <stdio.h>

void calc_data(const int a,const int b, int *max, int *sum) {
    *max = a > b ? a : b;
    *sum = a + b;
    return;
}

int main() {
    int a, b, max_value, sum;
    printf("请输入2个数据:\n");
    scanf("%d%d", &a, &b);

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

    printf("a = %d\n", a);
    printf("b = %d\n", b);
    printf("max_value = %d\n", max_value);
    printf("sum = %d\n", sum);

    return 0;
}

执行结果:
101-practice

学习笔记:

课后任务

练习

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的值。

代码

#include <stdio.h>

void calc_data(const int a,const int b, int *max, int *sum) {
    *max = a > b ? a : b;
    *sum = a + b;
    return;
}

int main() {
    int a, b, max_value, sum;
    printf("请输入2个数据:\n");
    scanf("%d%d", &a, &b);

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

    printf("a = %d\n", a);
    printf("b = %d\n", b);
    printf("max_value = %d\n", max_value);
    printf("sum = %d\n", sum);

    return 0;
}

执行结果:
101-practice

课程评价:

这节课没学懂,需要反复观看和理解,某些时刻下需要传递地址给到对应函数。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消