学习嵌入式的第十一天-----函数,标识符,局部变量,全局变量,生命周期

一维整型数组做函数参数

形参+ 数组形式+数组长度

实参+数组名+数组长度

 

一维字符型数组做函数参数

1.一维字符型数组---用来存放字符串

因为处理的数字符串数据,字符串操作

 

二维数组做函数参数

总结:

形参---二维数组形式+行数

实参---  数组名+行数

 

二维字符数组:

作函数参数与二维整型数组 使用方式相同

 

注意:

1.不要和一维字符型数组传参搞混

一堆字符型数组,主要用来存放 字符串数据

二字符串数据有结束标志(‘\0’),故,传参时,不需要传长度

2.二维字符型数组,用来存储多个字符串,要操作时,往往都是操作多个字符串,而多个字符串没有所谓结束的标志。看的是数组长度(行数)

 

总结:

1.一维整型数组  做函数参数

形参---数组形式 + 数组长度

实参---数组名 +数组长度

2.一维字符型数组  作函数参数

形参---数组形式

实参---数组名

原型:一维字符型数组 主要用来存储字符串数据

3.二维整型数组 做函数参数

形参---数组形式 + 行数

实参---数组名  +行数

4.二维字符型数组 作函数参数

形参---数组形式 + 行数

实参---数组名+ 行数

 

标识符 的作用域  与可见性的问题:

作用域: 名字 作用的访问

可见性:程序运行到某一个位置  哪些名字可以被使用(被看见)

 

作用域:

局部作用域:

 {  }   -----花括号范围内 ,就叫局部作用域

在局部作用域 定义的变量---局部变量

全局作用域:

不在任何一个  {  }范围之内

在全局作用域 定义的变量---全局变量

 

 

标识符的可见性的规则:

1.先定义,后使用

2.同一个作用域中,不能有同名标识符

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

4.如果是不同作用域  但是作用域之间存在嵌套关系,则内层的作用域的同名标识符,会屏蔽外层的作用域的同名标识符(就近原则)

 

c语言的五个区(1. 栈  2. 堆  3. 字符常量区4.全局区(静态区) 统称为 数据区 // 5.代码区   代码区)

 

局部变量

特点:局部变量  空间一般都开栈上

如果不初始化,局部变量中的值是随机值(垃圾值)

全局变量

特点:全局变量 空间  全局区

如果不初始化,默认初始化为0

 

时间角度

生命周期

int a; // 什么时候a的空间被开辟,什么时候a的空间被销毁

局部变量的生命周期

从程序运行到定义处开始存在,到程序运行到 它作用范围结束时 销毁

全局变量(静态变量)的生命周期

从程序开始运行时就存在了,直到整个程序运行结束时,销毁

注意:全局变量和静态变量,不能用变量进行初始化

 

 

存储类别的关键字:

auto   ---表示它是一个自动变量(局部变量)---自动申请 自动释放

static  --- static修饰局部变量 此时会被放在 全局区(静态区)

          -----此时局部变量的生命周期被延长

注意: 1. static 修饰局部变量---只会被初始化一次

            2. static 修饰的变量 ---具有继承性

            3.static  修饰的变量---只能用常量初始化(不能用变量初始化)

register  --- 寄存器  表示把变量 存储 寄存器中

             ---建议性

             ----register修饰的变量,不能做 & // (取地址)

extern  ---外部的  ---表示你的变量 是存在外部的  

             ----不在当前文件中

             -----只能 声明 全局变量  

 

static 修饰全局变量

------表示限定全局变量的作用域位本文件,别打文件不能通过extern来声明使用

用途:保护私有数据   防止被引用

 

修饰函数 // 声明函数 在别处定义的

static修饰函数作用和修饰全局变量作用相同

限定作用域为本文件,别的文件不能通过extern来声明使用

 

 

static

变量 :局部变量

表示将局部变量存放到

[  存储类别 ]  类型 变量名;

 

  • 21
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值