171108-函数作用域和存储特性学习【连续第十六天】
来源:互联网 发布:apk优化 编辑:程序博客网 时间:2024/05/21 01:46
今天终于又开始有下一步进度了,今天学习了一下存储特性;
先是自动存储,这个其实就是我们平时直接写的int ...,double ..之类的一些代码,而自动存储的特殊性就是当他进入块时才生成,而结束块的时候
他的存储空间就会被撤回;
下个是静态存储,关键字是static和extern,静态存储则是在程序一开始就会被执行,但并不能在整个程序中去使用,用static定义的局部变量则只能
再定义该变量的函数体中使用,而static在第一次使用时就会自动被初始化一个值0,而在结束一次运行后,static变量还是上一次退出后的值;
注:static变量在程序中只会被执行一次,且只在第一次进入时执行,此后在进入时则不会在执行,调试中的显示则是会跳过该语句;
试了一个例题,但好像我的这个编译器无法显示静态变量
这里第一次运行时a才会被分配空间,而b则在一开始就存在存储空间,且被赋值为1;
然后第一次调用输出a=1;b=2;a+b=3;
第二次时原先a的空间已经被撤销,故原值不存在,在下次执行时才会被再次赋值,但b则会保留上一次的2
在运行时a=1;b=3;a+b=4;
在下面是对作用域学习
函数原型作用域,就是在我们声明函数时的语句,此时的形参时可以被省略的,原因就是此时的作用域是仅限于这一个语句的,在此后的语句中是不会被使用的;
块作用域,即一对大括号内的语句则会构成一个块作用域,其中允许嵌套另外的块;
而不在同一块中的相同变量是不会被认为是重复定义的;
下面是对作用域的例题的学习
此处虽然变量名都相同但并不会报错,因为外层a的作用于是整个大的块,而内层a则只是一个内嵌的块中的局部变量;运算时会有一个局部优先原则
目标:完成书后练习,复习所有函数内容
- 171108-函数作用域和存储特性学习【连续第十六天】
- 连续总结第十六天
- 变量和函数的作用域、链接属性、存储范围
- C++学习日记13——递归、内联、函数重载、变量的作用域和存储类型
- 存储时间和作用域
- 闭包函数的特性和作用及应用场合
- 171104-函数指针学习【连续第十二天】
- Spring学习笔记-IOC高级特性1-Bean的创建、作用域、初始化和析构
- .net学习第十六天
- JAVA学习第十六天
- 第十六天学习笔记
- Java学习第十六天
- python学习---第十六天
- 函数作用域和块作用域
- 函数作用域和作用域链
- 函数作用域和作用域链
- python学习-函数、作用域
- 变量的作用域和存储期
- 快速搭建springboot框架以及整合ssm+shiro+安装Rabbitmq和Erlang、Mysql下载与配置
- linux初学之ftp服务
- xml入门、解析、创建及规范
- ssh设置字段默认值
- redis shutdown (error) ERR Errors trying to SHUTDOWN. Check logs.
- 171108-函数作用域和存储特性学习【连续第十六天】
- 程序员的自我修养--可执行文件的装载与进程
- 剑指offer 二维数组的查找
- 位操作算法基本操作1
- 让你的 WordPress 网站更安全的5 个方法
- java String[] args理解
- zipkin+elasticsearch全链路跟踪(springcloud)
- jenkins+selenium grid实现分布式自动化测试
- 【功能笔记】Ubuntu查看系统资源占用(内存,cpu和进程) {转载}