指针(十二)static静态特性探讨?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1349个文字,预计阅读时间需要6分钟。
0. 前言这个系列基本上是每月一更新。今天,我将写一篇关于static的文章,包含大量干货,做好预习。
1. 基础知识回顾
1.1. 内存的种类
一般来说,我们之前已经讲过的变量(或者说内存)有: 0.前言这个系列基本上是一月一更到两月一更
今天写一篇关于static的,内含大量干货,做好准备
一般来说,我们之前已经讲过的变量(或者说是内存)可以大体分为这样几种:
- 全局变量
- 局部变量,也称为自动变量
- 使用malloc分配的区域
- 常量、字符串字面量
这里回顾一下,在C++中,使用const声明的常量是不可改变的,也就是在编译期就确定下来了。因此,即使使用指针更改也不会实际修改到它的值。对于全局变量,const出的值和字符串字面量(即使用""括起来的字符串),存在常量区,强制改变会使得程序异常退出。
1.2.作用域和生命周期对于全局变量,它由始至终都是存在的,作用域是全部。
局部变量的作用域和声明周期仅存在一个函数中,当函数返回,它就会从栈中销毁。
使用malloc分配的内存区域,它的生命周期一直到调用free为止。
对于字符串字面量和常量,它的作用域和声明周期与全局变量和局部变量类似。
我们把使用static修饰的变量和全局变量统称为静态变量。
静态变量,顾名思义,就是可以贯穿整个程序运行的时间内的变量。
本文共计1349个文字,预计阅读时间需要6分钟。
0. 前言这个系列基本上是每月一更新。今天,我将写一篇关于static的文章,包含大量干货,做好预习。
1. 基础知识回顾
1.1. 内存的种类
一般来说,我们之前已经讲过的变量(或者说内存)有: 0.前言这个系列基本上是一月一更到两月一更
今天写一篇关于static的,内含大量干货,做好准备
一般来说,我们之前已经讲过的变量(或者说是内存)可以大体分为这样几种:
- 全局变量
- 局部变量,也称为自动变量
- 使用malloc分配的区域
- 常量、字符串字面量
这里回顾一下,在C++中,使用const声明的常量是不可改变的,也就是在编译期就确定下来了。因此,即使使用指针更改也不会实际修改到它的值。对于全局变量,const出的值和字符串字面量(即使用""括起来的字符串),存在常量区,强制改变会使得程序异常退出。
1.2.作用域和生命周期对于全局变量,它由始至终都是存在的,作用域是全部。
局部变量的作用域和声明周期仅存在一个函数中,当函数返回,它就会从栈中销毁。
使用malloc分配的内存区域,它的生命周期一直到调用free为止。
对于字符串字面量和常量,它的作用域和声明周期与全局变量和局部变量类似。
我们把使用static修饰的变量和全局变量统称为静态变量。
静态变量,顾名思义,就是可以贯穿整个程序运行的时间内的变量。

