什么是函数?

函数是用于完成特定任务的程序代码的“黑盒子”。

为什么使用函数?

  • 函数的使用可以省去重复代码的编写(可移植性)
  • 即使某种功能在程序中只是用一次,将其以函数的形式也是有必要的,因为函数是的程序更加模块化,从而有利于程序的阅读修改和完善(易维护性)

函数的一般形式:

<storage type> <data type> <function>(parameters)
{statementreturn expression;
}

storage type:描述该函数本身的链接类型或者其返回值的易变性 一般可省

data type:描述该函数的返回值类型

function:函数名                 parameter:函数接受的参数列表

statement:函数主体          return:返回函数值

函数的命名:

命名规则应符合命名规范:小写字母/单词+下划线

返回值类型:

        函数必须有返回值类型,如果无返回值,则在函数名之前的加void

函数的声明:

函数必须先声明,后引用,函数的定义也是函数的声明

格式:函数头+分号

参数列表:

形参和实参,   函数定义时的参数列表中为形式参数,简称形参

函数调用时的参数列表中为实际参数,简称实参

形参和实参的关系: 相互独立

数值从实参指向形参

一个函数结束的退出,会使得它的内存被释放,所以无法返回局部变量的地址

参数传递方式:

赋值传递方式:

将实参的数据拷贝给形参变量,实参和形参具有相同数据类型,但是储存空间不同

地址传递方式(引用传递):

将实参的地址传递给被调用函数,被调用函数对形参的操作相当于对实参本身的操作,将直接改变实参的值;

实参为变量的地址时,形参为同类型的指针

这位大佬讲的更清楚!!!

下面展示一个实例供参考:

#include <stdio.h>int my_max(int x, int y);        //函数声明//在C程序中,无论函数还是变量,使用前都需要先做声明int main(){int a, b;int c;scanf("%d%d", &a, &b);c = my_max(a, b);            //函数的调用printf("max = %d", c);return 0;
}//函数定义
int my_max(int x, int y){        //函数头,也叫函数的特征标int max;max = (x>y ? x : y);return max;
}

函数-function(函数的一般形式、命名、定义调用声明、函数的传递方式)相关推荐

  1. 如何用matlab编写分段函数_请教各位怎样用matlab定义一个分段函数MATLAB分段函数...

    请教各位怎样用matlab定义一个分段函数 MATLAB分段函数 www.zhiqu.org     时间: 2020-12-08 matlab提供了了两种定义分段函数的方法: 常规方法:使用if.. ...

  2. C语言使用CUDA中cufft函数做GPU加速FFT运算,与调用fftw函数的FFT做运算速度对比

    目录 任务介绍 环境所需相关软件下载与安装 C语言:不调用库的GPU加速FFT代码 C语言:调用fftw库的未使用GPU的FFT代码 C语言:调用cufft库的GPU加速FFT gnuplot安装画图 ...

  3. python调用c函数传字符串参数_Python使用ctypes模块调用DLL函数之传递数值、指针与字符串参数...

    在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...

  4. HTML调用Java函数或语句,在动态THML语句中调用JS函数传递带空格参数的问题

    刚刚遇到一个问题,调用js函数的参数里带空格,造成调用失败的问题. 部分代码如下: html+=" "; //name中如果有空格就是调用失败 html+=" " ...

  5. 把Python函数转换成能在SQL语句中调用的函数

    感谢中国传媒大学胡凤国老师提供的案例和第一版代码! 问题描述:把Python函数转换为能在SQLite数据库SQL语句中调用的函数,这样可以大幅度扩展SQL语句的功能. 演示代码: 运行结果: 今天公 ...

  6. matlab定义函数多输入,matlab .m文件中定义多个函数

    matlab帮助系统中的说明: Functions The main difference between a script and a function is thata function acce ...

  7. java调用javascript函数_使用Java程序中的参数调用Javascript函数

    我有Java Swing应用程序.当用户点击MenuItem时,我想使用JavaScript在HTML页面上显示图形. Java代码: if(e.getActionCommand().equals(& ...

  8. python3 selenium 自动化 登录搜狐邮箱之 函数的二次封装和模块的调用及函数的调用

    先建一个 sohuEmailPublic.py 文件,对函数进行封装,让它作为公共的模块开使用 代码如下: from selenium import webdriver from time impor ...

  9. ajax函数返回值,ajax:怎么获得onreadystatechange调用的函数的返回值?

    异步的ajax实际上使用了单独的进程,因此无法获取到这个返回值,而且,在调用ajax()方法时你根本无法知道它什么时候会执行完毕. 因此对于异步的ajax来说,你无法主动的获取其返回值,只能提供回调方 ...

最新文章

  1. 控制结构(1)-判断控制
  2. 函数节流与防抖的实现
  3. 2018年最后一个月最值得关注的13个优质公号
  4. 深度学习(10)-- Capsules Networks(CapsNet)
  5. 使用ICSharpCode.TextEditor制作一个语法高亮显示的XML编辑器
  6. 精品美剧小屏精致灰色风格苹果CMSv10主题
  7. apache benchmark
  8. 蓝屏分析_电脑突发蓝屏现象?教你如何快速修复
  9. windows系统bat批处理 管理nginx启动 nginx脚本管理bat脚本管理生命周期windows一键nginx启动
  10. Atitit word结构化提取考试试题读取 poi读取word nlp aiprj 目录 1.1. 结构化后数据 1 1.2. 文字读取 1 1.3. 图片读取 1 1.4. Doc的表格读取 /
  11. CSS3之firefoxsafari背景渐变之争 - [前端技术][转]
  12. excel计算机二级考试试题,计算机二级考试Excel操作考试题.doc
  13. html三页布局实训,创建css布局页面(上机实训任务).pdf
  14. 11.合并两个有序数组
  15. 天正电气图例_天正电气CAD教程之文件布图篇(内附往期秘籍)
  16. 工作辛苦了,提前祝大家五一劳动节快乐!!
  17. 大天使之剑h5服务器临时维护,大天使之剑H5合服细节 战盟对决时间安排
  18. android 锁机代码‘’,android手机锁机txt代码
  19. 河南计算机与科学研究生招生,2021年河南理工大学计算机科学与技术(081200)硕士研究生招生信息_考研招生计划和招生人数 - 学途吧...
  20. 基于SQLSERVER--数据库表的修复

热门文章

  1. python 单词拆音节_y在单词或音节中间的单词有哪些?
  2. 细雨算法升级,针对B2B领域低质内容
  3. python-科研绘图系列(2)-等高线图
  4. 都2023年了,你如果还不知道这18个C语言入门经典程序就亏了
  5. 百度打不开,其它网站正常
  6. Java组各任务工作流程
  7. WMI系列--关于WMI
  8. 2年java开发工作经验
  9. 【Java基础】包、类、接口、常量、方法、变量的命名规则
  10. 随机过程4-宽平稳过程,严平稳过程的定义和判定