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、封装选择排序法的函数

(第一个和第二个比,第一个和第三个比。。。。)

结果如下

数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量相关推荐

  1. php 二维数组根据键值合并二维数组_php数组根据某键值,把相同键值的合并最终生成一个新的二维数组...

    匿名用户 1级 2013-12-29 回答 php数组根据某一个键值,把相同键值的合并生成一个新的二维数组 源数据: $infos = array( array( 'a' => 36, 'b' ...

  2. 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×3)转置,即行列互换 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 163  Solved: 120 [Subm ...

  4. 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。

    题目描述 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换. 输入 一个3x3的矩阵 输出 无 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 6 9 # ...

  5. 关于二维数组传参做形参

    二维数组的存储方式是和一维数组没什么区别,但是用二维数组做参数,它的形参该怎样写?要注意的是:函数中的形参其实就相当于一个声明,并不产生内存分配,形参的目的就是要让编译器知道函数参数的数据类型. 正确 ...

  6. PHP常用数组函数(含按键值删除二维数组中的元素)

    // 1.array_search():在数组中搜索键值"red",并返回它的键名 $a=array("a"=>"red"," ...

  7. 函数的定义,语法,二维数组,几个练习题

    1.请将'A','B','C'存入数组,然后再输出 2.请将"我" "爱" "你"存入数组,然后正着和反着输出 3.输入10个整数存入数组, ...

  8. 微信小程序——数组操作 (增加删除修改遍历)map、filter、forEach、find的用法、二维数组,排序,求和、指定长度数组赋值

    一.数组的操作 Array.push() ->在数组后面继续插入内容 Array.pop() ->拿走数组最后一个内容 Array-shift()->拿走数组的第一个内容 (unsh ...

  9. c语言二维数组参数传入,C语言二维数组、参数传递的理解

    首先定义一个数组:a[3][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 }; #define _CRT_SECURE_NO_WARNINGS #include #inc ...

最新文章

  1. python如何调用文件_如何调用另一个python文件中的代码
  2. 一文讲透 “进程、线程、协程”
  3. MATLAB之线性回归,逻辑回归,最小二乘法,梯度下降,贝叶斯,最大似然估计
  4. 腾讯蓝鲸智云社区版V6.0.3携手容器管理平台正式发布!
  5. 一口气说出 6 种延时队列的实现方法,面试官满意的笑了
  6. 从源码角度看Spark on yarn client cluster模式的本质区别
  7. linux软连接目标不存在,Linux ln创建软连接之后无法使用,无法whereis
  8. CISP能线上考试吗?
  9. mysql 建库建表模板 权限管理
  10. 微信公众号群发接口和原创校验
  11. word自动生成目录,设置从指定页码开始
  12. 关于浮动元素,你还在自己计算位置吗?来看看 Floating UI 吧
  13. Google Safe Browsing API的实施
  14. 农民贫困到连自己都不敢相信
  15. 四月份适合发微信朋友圈的文案
  16. 枚举类型的理解和应用
  17. Arduino基础语法
  18. vue精通之路:掌握这42个Vue知识点,你将成为大shen
  19. Jodconverter-最新无码爽具,你值得拥有!
  20. Cuckoo Filter(布谷过滤器)

热门文章

  1. 【问题】14500充电锂电池电量问题及测试方案
  2. 通过MATLAB读取mnist数据库
  3. MIT课程笔记①丨因果关系定义及潜在结果分析框架
  4. 我能考虑到的数组(老)方法就这些了(es5)
  5. CUBA在查询语句如何添加参数
  6. SQLServer表内自关联级联删除
  7. liunx 分割合并文件
  8. foxmail使用技巧
  9. CSP认证201709-2 公共钥匙盒[C++题解]:结构体、排序、枚举
  10. PAT甲级1073 Scientific Notation:[C++题解]字符串处理、科学计数法