函数-function(函数的一般形式、命名、定义调用声明、函数的传递方式)
什么是函数?
函数是用于完成特定任务的程序代码的“黑盒子”。
为什么使用函数?
- 函数的使用可以省去重复代码的编写(可移植性)
- 即使某种功能在程序中只是用一次,将其以函数的形式也是有必要的,因为函数是的程序更加模块化,从而有利于程序的阅读修改和完善(易维护性)
函数的一般形式:
<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(函数的一般形式、命名、定义调用声明、函数的传递方式)相关推荐
- 如何用matlab编写分段函数_请教各位怎样用matlab定义一个分段函数MATLAB分段函数...
请教各位怎样用matlab定义一个分段函数 MATLAB分段函数 www.zhiqu.org 时间: 2020-12-08 matlab提供了了两种定义分段函数的方法: 常规方法:使用if.. ...
- C语言使用CUDA中cufft函数做GPU加速FFT运算,与调用fftw函数的FFT做运算速度对比
目录 任务介绍 环境所需相关软件下载与安装 C语言:不调用库的GPU加速FFT代码 C语言:调用fftw库的未使用GPU的FFT代码 C语言:调用cufft库的GPU加速FFT gnuplot安装画图 ...
- python调用c函数传字符串参数_Python使用ctypes模块调用DLL函数之传递数值、指针与字符串参数...
在Python语言中,可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数,在提高软件运行效率的同时,也可以充分利用目前市面上各种第三方的DLL库函数,以扩充Python软件 ...
- HTML调用Java函数或语句,在动态THML语句中调用JS函数传递带空格参数的问题
刚刚遇到一个问题,调用js函数的参数里带空格,造成调用失败的问题. 部分代码如下: html+=" "; //name中如果有空格就是调用失败 html+=" " ...
- 把Python函数转换成能在SQL语句中调用的函数
感谢中国传媒大学胡凤国老师提供的案例和第一版代码! 问题描述:把Python函数转换为能在SQLite数据库SQL语句中调用的函数,这样可以大幅度扩展SQL语句的功能. 演示代码: 运行结果: 今天公 ...
- matlab定义函数多输入,matlab .m文件中定义多个函数
matlab帮助系统中的说明: Functions The main difference between a script and a function is thata function acce ...
- java调用javascript函数_使用Java程序中的参数调用Javascript函数
我有Java Swing应用程序.当用户点击MenuItem时,我想使用JavaScript在HTML页面上显示图形. Java代码: if(e.getActionCommand().equals(& ...
- python3 selenium 自动化 登录搜狐邮箱之 函数的二次封装和模块的调用及函数的调用
先建一个 sohuEmailPublic.py 文件,对函数进行封装,让它作为公共的模块开使用 代码如下: from selenium import webdriver from time impor ...
- ajax函数返回值,ajax:怎么获得onreadystatechange调用的函数的返回值?
异步的ajax实际上使用了单独的进程,因此无法获取到这个返回值,而且,在调用ajax()方法时你根本无法知道它什么时候会执行完毕. 因此对于异步的ajax来说,你无法主动的获取其返回值,只能提供回调方 ...
最新文章
- 控制结构(1)-判断控制
- 函数节流与防抖的实现
- 2018年最后一个月最值得关注的13个优质公号
- 深度学习(10)-- Capsules Networks(CapsNet)
- 使用ICSharpCode.TextEditor制作一个语法高亮显示的XML编辑器
- 精品美剧小屏精致灰色风格苹果CMSv10主题
- apache benchmark
- 蓝屏分析_电脑突发蓝屏现象?教你如何快速修复
- windows系统bat批处理 管理nginx启动 nginx脚本管理bat脚本管理生命周期windows一键nginx启动
- Atitit word结构化提取考试试题读取 poi读取word nlp aiprj 目录 1.1. 结构化后数据	1 1.2. 文字读取	1 1.3. 图片读取	1 1.4. Doc的表格读取 /
- CSS3之firefoxsafari背景渐变之争 - [前端技术][转]
- excel计算机二级考试试题,计算机二级考试Excel操作考试题.doc
- html三页布局实训,创建css布局页面(上机实训任务).pdf
- 11.合并两个有序数组
- 天正电气图例_天正电气CAD教程之文件布图篇(内附往期秘籍)
- 工作辛苦了,提前祝大家五一劳动节快乐!!
- 大天使之剑h5服务器临时维护,大天使之剑H5合服细节 战盟对决时间安排
- android 锁机代码‘’,android手机锁机txt代码
- 河南计算机与科学研究生招生,2021年河南理工大学计算机科学与技术(081200)硕士研究生招生信息_考研招生计划和招生人数 - 学途吧...
- 基于SQLSERVER--数据库表的修复