0129 嵌入式第十二天

今日内容

一、二维数组做函数形参

对数组求和

0129 嵌入式第十二天_第1张图片

二维字符型数组做函数形参;

注意:需要传行数

0129 嵌入式第十二天_第2张图片

标识符 作用域 和 可见性问题

作用域:作用的范围

可见性:程序运行到某个点,哪些标识符可见

作用域

局部变量:一定在 某个花括号内

       在不同的作用域,同名称标识符,相互之间没有影响

       如果是不同的作用域,作用域之间存在嵌套关系。

              内层的作用域的同名标识符,会屏蔽外层的作用域的同名标识符。(就近原则)

时间上区分:

动态变量(局部变量-空间是开辟在栈上的—自动申请自动释放)(声明周期)

从定义的语句开始,到所在的作用域范围结束

静态变量(全局变量)

从程序一开始运行,就存在,

直到程序结束,销毁

注意:

       全局变量(静态变量)-----此时,

  1. 不能用变量进行初始化,只能常量初始化
  2. 静态区的变量

只会被初始化一次

  1. 值具有 继承性

Auto int a    //自动变量---栈

Static int a     //静态区

Register int a    //cpu寄存器

                             建议性

                             不能取地址&

Extern int a  //表示此时 a 不是在当前文件定义的—必须全局

//如果要用,到别的文件中寻找

//多文件

//如果想在当前文件中使用别的文件中的全局变量

  可以使用 extern int a做声明,

相当域吧别的文件中的变量作用扩展到当前文件

Static 修饰局部变量

       将局部变量 存储在 全局区(静态区)

       将局部变量的生命周期延长

Static 修饰全局变量

       表示 将全局变量的作用域 限定到本文件中

       别的文件中不能extern 了

Extern 可以放在函数声明中

              表示将函数作用域扩展到当前文件

Static 加在函数前面

              此时效果与修饰全局变量效果一夜

              将函数作用域限定到本文件中

二、指针

指针:地址---- 内存单元的编号

语法:基类型* 指针变量名;

       基类型 --- 数据类型

                            //基础数据类型

                            //数组类型

                            //基类型 表示 指针变量 指向的 目标的数据类型

       *---表示此时定义的变量 是一个指针类型的变量

指针判断大小值

0129 嵌入式第十二天_第3张图片

你可能感兴趣的:(算法,排序算法,数据结构,嵌入式硬件)