前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言第七讲,函数入门.

C语言第七讲,函数入门.

作者头像
IBinary
发布2018-03-30 12:07:33
4950
发布2018-03-30 12:07:33
举报
文章被收录于专栏:逆向技术逆向技术逆向技术

           C语言第七讲,函数入门.

一丶了解面向过程和面向对象的区别.

为什么要先讲面向过程和面向对象的区别?

面向过程,就是什么都要自己做.  比如你要吃饭. 那么你得自己做饭.

面向对象, 面向对象就是我要吃饭. 我只需要支付一点点酬金.就能吃了. 不用自己做了. 

而C语言就是面向过程的.

也就是说. 面向过程就是自己做. 自己写函数.

二丶什么是函数.

函数不是数学上的函数. 这里的函数指的是解决一定问题的基本代码.

基本的功能单位.

比如你想写一个加法.

我们可以自己写一个Add函数. 然后进行调用则可以完成加法操作.

比如我们家里都有袋子.

这一个袋子可以装鞋子. 袜子.以及其余的各种东西.

但是鞋子会很脏.这个时候你用一个小袋子装起来. 袜子也是. 然后放到这个大袋子里面.

这个小袋子就是函数.

三丶自定义函数

语法:

函数返回值  函数名字 (函数行形参)

1.无参数无返回值函数的定义

首先定义一个无参数无返回值的函数.

比如我们打印输出.

void Print()
{

    printf("%d\r\n", 2);
}
int main()
{
    Print();
    system("pause");
    return 0;
}

这样 main函数则会调用我们自己写的函数. 则会输出2.

2.有参数有返回值的定义

int Sub(int a, int b)  //返回值int ,所以用int类型变量接受.参数是int,且是2个.所以传入两个int参数
{

    return a - b;
}

int main()
{
    int Ret = Sub(4,3);//main 调用Sub
    printf("%d\r\n",Ret);
    system("pause");
    return 0;
}

3.函数的形参和函数的实参数.

int Sub(int a, int b)
{

    return a - b;
}

int main()
{
    int Ret = Sub(4,3);
    printf("%d\r\n",Ret);
    system("pause");
    return 0;
}

还是我们第二个函数的例子. 此时我们要知道 Sub函数的 a和b都是形参

什么意思?

  也就是说,你可以把它们看作是变量a 和 b,在函数调用过程中.  4, 3两个整形常量. 会赋值给 a 和 b

也就是额外产生的代码为:

  int a = 4;

  int b = 3;

但是这个是编译器产生的. 我们看不到. 如果我们的4和3是变量. 那么调用玩 sub函数之后,我们的变量是不会改变的.

例如:

int Sub(int a, int b)
{

    return a - b;
}

int main()
{
    int nNum1 = 4;
    int nNum2 = 3;
    int Ret = Sub(nNum1,nNum2);
    printf("%d\r\n",Ret);
    printf("nNum1 = %d  nNum2 = %d\r\n",nNum1,nNum2);
    system("pause");
    return 0;
}

输出结果.

所以说,我们的nNum1 和nNum2并没有做减法,而是Sub中 a 和 b做的减法.

等讲指针的时候在讲解怎么更改实际参数的值.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-02-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •            C语言第七讲,函数入门.
    • 一丶了解面向过程和面向对象的区别.
      • 二丶什么是函数.
        • 三丶自定义函数
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档