函数(day08)
C语言里可以采用分组的方式管理语句
每个语句分组叫做一个函数 多函数程序执行的时候时间分配情况必须
遵守以下规则
.整个程序的执行时间被划分成几段,每段
时间都被分配给一个函数使用
.不同时间段不能互相重叠并且所有时间段
必须连续
.如果函数A在工作的时候把一段时间分配给
函数B使用则函数B结束所有工作之后必须
把后面的时间还给函数A 如果函数A在工作的时候把时间分配给函数B
使用则它们之间存在函数调用关系
在函数调用关系中函数A叫做调用函数,函数B
叫做被调用函数
函数调用关系只在被调用函数工作的时间
范围内才存在 函数调用语句可以产生函数调用关系,可以
把一个函数的执行时间分配给别的函数 不可以跨函数使用变量
不同函数里的变量可以重名
如果函数多次运行则它里面的变量每次
对应的存储区都可能不同 声明变量的时候可以使用volatile关键字,
这种变量对应的存储区可以被多个
程序同时使用 函数调用过程中通常伴随着两个函数之间
的数据传递
函数调用过程中数据传递存在两个完全相反
的方向,可以从调用函数传递给被调用
函数也可以从被调用函数传递给调用函数
任何方向的数据传递都要使用被调用函数提供
的存储区 只能从被调用函数向调用函数传递一个数据
这个数据叫做被调用函数的返回值
只能在被调用函数结束的时候传递返回值
传递返回值的时候需要把它记录到被调用函数
提供的一个存储区里,这个存储区的类型
名称应该写在函数名称前
被调用函数里使用return关键字可以把返回值
记录到这个存储区里
调用函数把函数调用语句当作数字使用就可以
得到函数的返回值 如果被调用函数没有使用return关键字向存储区
里放返回值则存储区里的内容是随机的
调用函数只有一次获得返回值的机会,得到
返回值以后或者立刻使用或者另外存储
到其它存储区
如果函数没有返回值就应该在函数名称前
写void
如果函数名称前什么都不写在C89规范里表示
函数提供一个整数类型存储区用来存放
返回值,在C99规范里不允许这样 被调用函数不可以用数组存放返回值 函数调用过程中可以从调用函数向被调用函数
传递多个数据,这些数据的类型可以不同
被调用函数需要为每个传递过来的数据提供一个
对应的存储区
可以使用被调用函数提供的一组变量表示
这些存储区,这些变量必须声明在
函数名称后面的小括号里
这些变量叫做函数的形式参数,小括号里的
所有内容叫做函数的形式参数列表
每个形式参数的类型名称都不可以省略
相邻形式参数声明之间用逗号分开
被调用函数里可以象使用普通变量一样使用
形式参数
函数调用语句的小括号里需要为每个形式参数
提供一个对应的数字,相邻数字之间用逗号
分隔
这些数字叫做实际参数
函数调用的时候计算机把每个实际参数存放在
对应的形式参数里,被调用函数里可以
通过形式参数得到实际参数的数值
只要能当作数字使用的内容都可以作为实际参数
使用
如果函数没有形式参数就应该在小括号里写void
编写函数时如果小括号里什么都没写表示函数
可以提供任意多个形式参数,这些形式参数
的类型可以不同
函数(day08)的更多相关文章
- day08 python之函数初识
一,什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print(),len( ...
- day08作业---函数
'''2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者.'''#学会了 原来 range(len(iter)) 是 从零到len-1 的数的组合 建新放在 ...
- python学习 day08 (3月13日)----函数
函数 一.定义 def 关键字 函数名(): 函数体 函数 ---- 封装#def 关键字 # #定义后的函数就像变量 不调用是不执行的 # #函数名() ==函数的调用 def code(): ...
- day08(字符编码,字符与字节,文件操作)
一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float(' ...
- Python面向对象进阶和socket网络编程-day08
写在前面 上课第八天,打卡: 为什么坚持?想一想当初: 一.面向对象进阶 - 1.反射补充 - 通过字符串去操作一个对象的属性,称之为反射: - 示例1: class Chinese: def __i ...
- day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作
复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...
- Day08 (黑客成长日记) 命名空间和作用域
Day08:命名空间和作用域: 1.命名空间: (1)内置命名空间(python解释器): 就是python解释器一旦启动就可以使用的名字储存在内置命名空间中: eg: len() print() a ...
- day08(补)
今日学习内容 1.文件重写方法 2.函数基本知识 文件处理: 打开文件 读/写文件 关闭文件 文件指针移动,只有t模式下的read(n),n代表的字符个数其余都是以字节为单位 f.seek有两个参数( ...
- python对象反射和函数反射
python的对象反射功能,经常在编程时使用.相比较其它的编程语言使用非常方便.反射就是用字符串来操作对象或者类,模块中的成员. 一.对象的反射 反射功能的实现,由这4个内置函数来实现(hasattr ...
随机推荐
- SQLiteOpenHelper/SQLiteDatabase/Cursor源代码解析
转载请注明出处:http://blog.csdn.net/y_zhiwen/article/details/51583188 Github地址.欢迎star和follow 新增android sqli ...
- ubuntu 配置静态路由
原文:http://blog.sina.com.cn/s/blog_6fd8d5d90101f1xy.html -------------------------------------------- ...
- [Algorithms] The Bayes Rule
Prior odd: The idea is to take the odds for something happening (against it not happening), which we ...
- 为什么要阅读——兼分享《首先,打破一切常规》[中译文]:世界顶级管理者的成功秘诀/(美)马库斯·白金汉,(美)柯特·科夫曼 著
<ctrlno=255632">首先,打破一切常规>[中译文]:世界顶级管理者的成功秘诀/(美)马库斯·白金汉,(美)柯特·科夫曼 著:鲍世修 等译 下载地址:http:/ ...
- linux 进程通信之 共享内存
共享内存是被多个进程共享的一部分物理内存.共享内存是进程间共享数据的一种最快的方法.一个进程向共享内存区域写入了数据,共享这个内存区域的全部进程就能够立马看到当中的内容. 关于共享内存使用的API k ...
- 一条SQL语句求每月连续低温时间
近期为某个项目写存储过程做统计.其中有个是这样的: 求每个月至少连续3个小时低于某个温度值的时间(小时). 假设有个全年温度表: CREATE TABLE #t(m INT, h INT ,t DEC ...
- Nginx1.6 for centos6.5安装
Nginx 学习文档:http://www.cnblogs.com/zhoulf/archive/2013/02/09/2909653.html 下载地址:http://nginx.org/en/do ...
- oc32--构造方法1
// // Person.h #import <Foundation/Foundation.h> @interface Person : NSObject @property int ag ...
- 在Android中创建文件
import java.io.File; import java.io.IOException; import android.app.Activity; import android.os.Bund ...
- Spring配置事务中的 transactionAttributes 各属性含义及XML配置
转自:https://blog.csdn.net/z69183787/article/details/17161393 transactionAttributes 属性: PROPAGATION 事务 ...