静态局部变量(static)用法

article/2025/9/21 20:58:53

有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值。这时就应该指定该局部变量为静态局部变量(static local variable)。

例 静态局部变量的值。
#include <iostream>
using namespace std;
int f(int a)                          //定义f函数,a为形参
{auto int b=0;                      //定义b为自动变量
static int c=3;                     //定义c为静态局部变量
b=b+1;
c=c+1;
return a+b+c;
}

int main( )
{int a=2,i;
for(i=0;i<3;i++)
    cout<<f(a)<<″ ″;
cout<<endl;
return 0;
}

运行结果为
7 8 9
先后3次调用f函数时,b和c的值如下表所示。


对静态局部变量的说明:
(1) 静态局部变量在静态存储区内分配存储单元。在程序整个运行期间都不释放。而自动变量(即动态局部变量)属于动态存储类别,存储在动态存储区空间(而不是静态存储区空间),函数调用结束后即释放。
(2) 为静态局部变量赋初值是在编译时进行值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。而为自动变量赋初值,不是在编译时进行的,而是在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。

(3) 如果在定义局部变量时不赋初值的话,对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符型变量)。而对自动变量来说,如果不赋初值,则它的值是一个不确定的值。这是由于每次函数调用结束后存储单元已释放,下次调用时又重新另分配存储单元,而所分配的单元中的值是不确定的。
(4) 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的,也就是说,在其他函数中它是“不可见”的。


http://chatgpt.dhexx.cn/article/0ZvgctFn.shtml

相关文章

Qt 5.14.1 安装详解

Qt 5.14.1官网下载参考 一、打开安装包 qt-opensource-windows-x86-5.14.1.exe&#xff0c;next 二、需要登录&#xff08;点击这里注册&#xff1a;https://www.qt.io/&#xff09; 三、 选择同意&#xff0c;next 四、 选择安装目录&#xff08;需要大约3.2G的空间大小&…

VS + QT安装及配置开发环境

应用场景&#xff1a; 适用于Windows平台下&#xff0c;需要使用VSQT环境进行开发的项目&#xff1b;本文以VS2019QT5.15.2为例 QT的下载及安装 1. 下载QT 可以去官网下载,也可以去镜像网站下载,目前QT5.15以后已经不支持下载离线安装包了,只支持下载在线安装程序.QT官方下载…

Linux Qt5的安装与环境配置

1. Qt官网下载http://www.qt.io/download-open-source/ 对应安装包 2. 我下的是qt-opensource-linux-x64-5.9.1.run&#xff0c;进入下载文件夹下&#xff0c;执行添加执行权限命令&#xff1a; sudo chmod x qt-opensource-linux-x64-5.9.1.run 然后执行安装命令&#xff1…

【Qt5.12】Qt5.12安装教程

目录 01. 软件下载 02. 软件安装 03. 软件测试 04. 附录 01. 软件下载 Qt5.12下载网址: http://download.qt.io/archive/qt/5.12/5.12.2/ 选择Windows平台, Linux和Mac平台类似 下载好之后的安装包: 02. 软件安装 Step1: 双击安装包, 稍等片刻, 然后点击next Step2: 如果没…

win10安装qt5.12保姆级教程(图文详解,简单快捷)

一、Qt简介 1、什么是Qt Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能&#xff0c;它是完全面向对象的很容易扩展&#xff1b;并且允许真正的组件编程。 2、Qt的发展史 1991年&#xff0c;Qt最早由奇趣科开发。2014年…

ubuntu下安装Qt操作流程

一、下载Qt Linux 安装包 Qt的官方下载页面: https://download.qt.io/archive/qt/5.14/5.14.2/ 二、安装QT&#xff08;下载完成后执行qt安装&#xff0c;安装步骤傻瓜型操作&#xff0c;一路next下去&#xff0c;此过程不在做冗余讲解&#xff09;&#xff0c;安装完成后&…

VS2022+QT5.13.2环境配置及安装测试教程

下载和安装VS&#xff1a; &#xff08;1&#xff09;visual Studio2022下载链接&#xff1a;https://visualstudio.microsoft.com/zh-hans/?rrhttps://www.microsoft.com/zh-cn/ &#xff08;2&#xff09;下载完成后&#xff0c;打开VisualStudioSetup&#xff0c;点击继续…

Mac上Qt安装和配置教程

已剪辑自: https://www.cnblogs.com/GJ-ios/p/15674851.html 这是一篇非常适合Qt入门小白的的安装Qt教程&#xff0c;因为公司PC端开发桌面应用&#xff08;Mac和Windows&#xff09;&#xff0c;所以我选择安装Qt&#xff0c;这次我以这篇博客记录下来&#xff0c;分享给大家…

Qt5.14.2安装教程

之所以选择安装Qt5.14.2&#xff0c;是因为从5.15.0起&#xff0c;对于开源用户&#xff0c;Qt官方不再提供独立安装文件&#xff0c;源码安装听说很繁琐&#xff0c;并且还要激活码。 官网下载链接&#xff1a;https://download.qt.io/archive/qt/5.14/5.14.2/ 1、Windows用户…

Qt安装配置及连接MySQL

一、Linux系统 开发环境&#xff1a; 银河麒麟 Kylin V10Qt 5.6.1MySQL 5.7.27 1、安装配置Qt 在终端中通过命令安装Qt // 安装了该软件包&#xff0c;编译c/c所需要的软件包也都会被安装 sudo apt-get install build-essential // 安装Qt开发环境 sudo apt-get install c…

Ubuntu上Qt安装以及配置完整步骤

Qt是一个跨平台的C图形用户界面库&#xff0c;我们平时所说所使用的Qt&#xff0c;准确的来说是它的GUI编程部分。Qt提供给应用程序开发者建立图形用户界面所需要的功能&#xff0c;并且Qt很容易扩展。基本上&#xff0c;Qt和X Window上的Motif、Openwin、GTK等图形界面库和Win…

Qt安装及简单配置

下载 此处我使用的是windows下的Qt5.9.8&#xff0c;并给出下载链接&#xff0c;其他需要的小伙伴可以根据链接自行挑选所需的。 Qt官网下载&#xff0c;选择 qt-opensource-windows-x86-5.9.8.exe 国内镜像站&#xff0c;同上选择。 安装 除了常规的下一步下一步之外&#…

Windows下QT的安装与配置

Windows下QT的安装与配置 本文主要介绍了Visual Studio 2019配置QT开发环境。 1.QT的安装 下载安装包的网址如下&#xff1a; https://mirrors.tuna.tsinghua.ed 点击获取下载链接。 选择应用软件中的QT5&#xff0c;选择qt5.14.2&#xff08;windows-x86)。 安装时需要安…

【Qt】Qt5.14安装教程

00. 目录 文章目录 00. 目录01. Qt5.14下载02. Qt5.14安装03. 附录 01. Qt5.14下载 官方下载网址&#xff1a;http://download.qt.io/archive/qt/5.14/5.14.2/ 02. Qt5.14安装 2.1 双击安装程序(qt-opensource-windows-x86-5.14.2.exe) 2.2 登录Qt账号或者注册账号 2.3 接受协…

QT5.9.9安装教程

首先进入Index of /archive/qt &#xff0c;选中5.9/,再选5.9.9/,点击qt-opensource-windows-x86-5.9.9.exe即可开始下载&#xff0c;大约7个多G。 下载好后&#xff0c;双击进入安装界面&#xff0c;点next进入登陆页面&#xff0c;这儿右下角有skip&#xff0c;那么直接跳过…

【Qt】Qt5.12.12安装教程详解

00. 目录 文章目录 00. 目录01. Qt概述02. Qt5.12.12下载03. Qt5.12.12安装04. Qt5.12.12测试05. 附录 01. Qt概述 Qt&#xff08;官方发音 [kju:t]&#xff0c;音同 cute&#xff09;是一个跨平台的 C 开发库&#xff0c;主要用来开发图形用户界面&#xff08;Graphical User…

一、C++简介以及qt安装及配置(华清笔记)

课堂之前 1. 课堂的笔记使用腾讯文档在线方式&#xff0c;支持导出等操作。 2. 直播使用群课堂&#xff0c;回放直接生成在群里。 别是Qt&#xff09;多记忆一些相关的编程词汇&#xff0c;可以下载欧路词典App&#xff0c;添加对应的单词书进行记忆。 4. 为什么要学习C&…

QT5.12安装图文教程与安装成功后环境配置详细教程

Qt是一个完整的开发框架&#xff0c;其工具旨在简化桌面、嵌入式和移动平台的应用程序和用户界面的创建。非常多的公司喜欢用它来做界面。有很多的小伙伴们想要学习这门语言&#xff0c;但是目前网上的教程比较少&#xff0c;这里为大家介绍一下QT5.12安装的详细教程&#xff0…

QT5.9的安装和配置

1.去官网下载&#xff0c;网址&#xff1a;https://www.qt.io/或直接到下载网页https://download.qt.io/ 你可以看到这样的一个界面&#xff0c;点击archive→qt→5.9&#xff0c;之后选择你想下载的5.9版本 到上面这个界面时&#xff0c;你再根据自己的下载对应安装软件 安装…

QT 5.9.0下载安装及配置教程

一、下载 今天打算换一个QT安装版本,去官网看了一眼发现变成了在线安装。本来官方下载的就慢,现在更是雪上加霜,现在给大家推荐几种下载方式。 1、国内镜像 中国科学技术大学&#xff1a;http://mirrors.ustc.edu.cn/qtproject/清华大学&#xff1a;https://mirrors.tuna.ts…