数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量
1、数组传参中形参的秘密
第三行:形参中不存在数组的概念,即便是中括号约定了数组的大小,也无效。
第二十行:传递的是一个地址,是数组的首地址。
数组名代表了整个数组的首地址。
第二十一行:第一个元素的地址也是数组的首地址。
(补充):指针占了八个字节。在操作系统中用八个字节,表示一个地址。
2、数组名当作函数实际参数(关于地址的)
首先是普通变量当函数实际参数
(数值传递,操作的是不同的内存空间)
数组名当作函数实际参数呢?
(操作的是相同的地址空间,数组名当作实参,到底传了什么?(地址))
也可以这么写
结果一样的
3、计算不同班级学生的平均分
//第26行:总分这个变量一定要手动初始化为0,默认值可能是一个大数影响结果
4、二维数组
合法写法: int arr[2][3]
合法写法 : int arr[][3]
不合法写法 : int arr[][]
不合法写法 : int arr[2][]
特殊的一维数组,每个元素又是一个数组,大小确定
注意传参的时候的形式是否合法
结果如下
5、外部变量和全局变量
全局变量:写在所有函数之前的外部变量
优点及缺点:程序员编程便捷,但有隐藏风险,所有函数都可以操作这个变量
(在10行和11行之前程序对p,q不可见)
6、全局变量的实战
(当我们没有办法在一个函数调用中,返回多项需要的数据的时候,(想要返回多项结果),被迫使用全局变量)
//函数调用的目的:调用者通过调用函数获得某些结果。
//函数强调的是功能性的封装,供调用者使用来改变调用者当中的一些数据
作业:1、要求输入十个数,找出最大数和最大数的下标
结果如下
2、封装冒泡排序法的函数
结果如下
(引用的图像)
(第一个和第二个比,第二个和第三个比。。。)
3、封装选择排序法的函数
(第一个和第二个比,第一个和第三个比。。。。)
结果如下
数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量相关推荐
- php 二维数组根据键值合并二维数组_php数组根据某键值,把相同键值的合并最终生成一个新的二维数组...
匿名用户 1级 2013-12-29 回答 php数组根据某一个键值,把相同键值的合并生成一个新的二维数组 源数据: $infos = array( array( 'a' => 36, 'b' ...
- ACMNO.24 C语言-转置矩阵 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 样例
题目描述 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换. 输入 一个3x3的矩阵 输出 转置后的矩阵 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 ...
- 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换
写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 163 Solved: 120 [Subm ...
- 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。
题目描述 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换. 输入 一个3x3的矩阵 输出 无 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 6 9 # ...
- 关于二维数组传参做形参
二维数组的存储方式是和一维数组没什么区别,但是用二维数组做参数,它的形参该怎样写?要注意的是:函数中的形参其实就相当于一个声明,并不产生内存分配,形参的目的就是要让编译器知道函数参数的数据类型. 正确 ...
- PHP常用数组函数(含按键值删除二维数组中的元素)
// 1.array_search():在数组中搜索键值"red",并返回它的键名 $a=array("a"=>"red"," ...
- 函数的定义,语法,二维数组,几个练习题
1.请将'A','B','C'存入数组,然后再输出 2.请将"我" "爱" "你"存入数组,然后正着和反着输出 3.输入10个整数存入数组, ...
- 微信小程序——数组操作 (增加删除修改遍历)map、filter、forEach、find的用法、二维数组,排序,求和、指定长度数组赋值
一.数组的操作 Array.push() ->在数组后面继续插入内容 Array.pop() ->拿走数组最后一个内容 Array-shift()->拿走数组的第一个内容 (unsh ...
- c语言二维数组参数传入,C语言二维数组、参数传递的理解
首先定义一个数组:a[3][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 }; #define _CRT_SECURE_NO_WARNINGS #include #inc ...
最新文章
- python如何调用文件_如何调用另一个python文件中的代码
- 一文讲透 “进程、线程、协程”
- MATLAB之线性回归,逻辑回归,最小二乘法,梯度下降,贝叶斯,最大似然估计
- 腾讯蓝鲸智云社区版V6.0.3携手容器管理平台正式发布!
- 一口气说出 6 种延时队列的实现方法,面试官满意的笑了
- 从源码角度看Spark on yarn client cluster模式的本质区别
- linux软连接目标不存在,Linux ln创建软连接之后无法使用,无法whereis
- CISP能线上考试吗?
- mysql 建库建表模板 权限管理
- 微信公众号群发接口和原创校验
- word自动生成目录,设置从指定页码开始
- 关于浮动元素,你还在自己计算位置吗?来看看 Floating UI 吧
- Google Safe Browsing API的实施
- 农民贫困到连自己都不敢相信
- 四月份适合发微信朋友圈的文案
- 枚举类型的理解和应用
- Arduino基础语法
- vue精通之路:掌握这42个Vue知识点,你将成为大shen
- Jodconverter-最新无码爽具,你值得拥有!
- Cuckoo Filter(布谷过滤器)
热门文章
- 【问题】14500充电锂电池电量问题及测试方案
- 通过MATLAB读取mnist数据库
- MIT课程笔记①丨因果关系定义及潜在结果分析框架
- 我能考虑到的数组(老)方法就这些了(es5)
- CUBA在查询语句如何添加参数
- SQLServer表内自关联级联删除
- liunx 分割合并文件
- foxmail使用技巧
- CSP认证201709-2	公共钥匙盒[C++题解]:结构体、排序、枚举
- PAT甲级1073 Scientific Notation:[C++题解]字符串处理、科学计数法