static用法

2023-10-31

本用法针对于C语言,文中所用代码在Qt中均运行成功。

static 主要用法:修饰变量、修饰函数

1、修饰变量:形成动态变量和静态变量

  • 动态变量(不使用static)
#include<stdio.h>

void myauto()
{
  int a = 0;
  printf("a = %d\n",a);
  a++;
}


int main()
{
  int i;
  for(i = 0; i < 5; i++)
  {
    myatuo();
 
  }

}

程序的输出结果为 :
a = 0
a = 0
a = 0
a = 0
a = 0

  • 静态变量
    首先只要整个程序开始执行之后,静态变量是一直存在的,不消失的;
    其次,静态变量值初始化一次,即static int a = 0;语句只执行一次
#include<s tdio.h>

void mystatic()
{
  static int a = 0;//整个进程运行过程中一直有效,是在静态区,但是只能mystatic函数内部访问使用
  printf("a = %d\n",a);
  a++;

}

int main()
{
  int i = 0;
  for(i = 0; i < 5; i++)
  {
    mystatic();
  }
}

程序运行结果为:
a = 0
a = 1
a = 2
a = 3
a = 4

  • 总结
    static定义的静态局部变量:

    • 静态局部变量在函数内存定义的,其生存周期为整个源程序,但是作用域同自动变量,只能在定义该变量的函数内部使用;退出该函数之后该变量仍然存在只是不能使用;
    • 静态变量未赋初值的系统自动赋值0;其他自动变量赋值则具有随机性;

    static定义的静态全局变量:

    • 仍然采用静态存储方式,但是作用域为定义该变量的源文件内部 ,非静态的全局变量的作用域为这个源程序(包括多个源文件)

2.static修饰函数

使用static定义的函数只能在本文件中被调用,在源程序的其他文件中不可以被调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

static用法 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 按成员序列化

    我已经实现了template
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 重载<<的返回值

    include
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 数据的存储方式(Parquet、ORC)

    文章目录 数据的存储方式 按行存储 按列存储 Parquest 文件布局 概念 并行处理的单元 配置 Row Group Size 行组的大小 Data Page Size 数据页的大小 元数据 数据页 Hive下的Parquet实验 Pa
  • postgresql:字符串累加拼接(聚合分组拼接)

    问题 有时 想要将某字段在查询列表的时候 按分组的不同 同组字符串累加拼接起来 原表数据内容如下 想要达到的目标结果 是把cdate tno的字符串分组累加拼接起来 如下 解决方案 使用聚合函数 string agg 示例如下 SELECT
  • 基于self-attention的BILSTM时间序列预测Python程序

    基于self attention的BILSTM时间序列预测Python程序 特色 1 单变量 多变量输入 自由切换 2 单步预测 多步预测 自动切换 3 基于Pytorch架构 4 多个评估指标 MAE MSE R2 MAPE等 5 数据从
  • 微信公众号测试号url和token绑定失败解决问题

    前提准备 在本地搭建一个本地服务器 具体查看如何搭建一个本地服务器 首先 我们需要到natapp获取一个信道 博主这里买的是vip1型的 当然也可以使用免费型的 根据需要选择 完了之后 去 我的隧道 查看购买的信道 复制里面的authtok
  • Java之包装类的算法小题的练习

    算法小题 练习一 需求 键盘录入一些1 10日之间的整数 并添加到集合中 直到集合中所有数据和超过200为止 代码示例 public class Test1 public static void main String args 键盘录入一
  • 修改Git远程地址 git config remote.origin.url "https://..."

    仓库管理 添加或指定远程仓库地址 git remote set url origin https git config remote origin url https 删除 git remote rm origin
  • python基础--函数入门与进阶

    函数入门与进阶 函数参数的使用 位置参数 关键字参数 默认参数 可变参数 关键字可变参数 函数的相互调用 函数的作用域 全局作用域 局部作用域 数据的打包与拆包 数据打包 数据的拆包 lambda函数 递归 前言 此专栏文章是专门针对Pyt
  • 高并发编程学习(2)——线程通信详解

    为获得良好的阅读体验 请访问原文 传送门 前序文章 高并发编程学习 1 并发基础 https www wmyskxz com 2019 11 26 gao bing fa bian cheng xue xi 1 bing fa ji chu
  • [Python图像处理] 九.形态学之图像开运算、闭运算、梯度运算

    该系列文章是讲解Python OpenCV图像处理知识 前期主要讲解图像入门 OpenCV基础用法 中期讲解图像处理的各种算法 包括图像锐化算子 图像增强技术 图像分割等 后期结合深度学习研究图像识别 图像分类应用 希望文章对您有所帮助 如
  • python设置坐标轴刻度值字体大小_python 设置xlabel,ylabel 坐标轴字体大小,字体类型...

    本文介绍了python 设置xlabel ylabel 坐标轴字体大小 字体类型 分享给大家 具体如下 coding utf 8 import matplotlib pyplot as plt 数据设置 x1 0 5000 10000 15
  • hdoj 1052 Tian Ji -- The Horse Racing 贪心算法

    这道题就是解决选择策略问题 思路一 先将田忌跟齐王的马的速度数组进行一次冒泡排序 1 如果田忌最慢的马比齐王最慢的马快 则比慢马 2 如果田忌最慢的马比齐王最慢的马慢 则用田最慢的马跟齐最快的马比 消耗齐的快马这是贪心的第一步 3 如果田忌
  • ElasticSearch 提示: NoNodeAvailableException[None of the configured nodes are available:

    ElasticSearch6 3 2 之java 客户端连接提示如下错误 NoNodeAvailableException None of the configured nodes are available 造成此问题的原因是 elast
  • 做自媒体,如何提高自己的创作能力,快速打造爆款?

    1 写作功底 首先在自己的文笔方面还是有一定的要求的 一定要保证自己的文章没有语病 有一定的逻辑性 要提炼出一定的观点 保证别人可以看得懂 主要就看你能不能长期写出吸引人的文章 写的文章深入人心 这样才会有粉丝 没粉丝的话账号是做不起来的
  • windows下ssh连续多次中转访问服务器

    准备工作 xshell下载地址 服务器A IP 192 168 0 1 服务器B IP 192 168 0 2 服务器C IP 192 168 0 3 用途 现有服务器A B C和客户端D 服务器A只能被客户端D访问 服务器B只能被服务器A
  • React 的 setState 立刻更新

    我们会发现其实 React 的 setState 方法是一个异步的方法 React 会将所有的 setState 方法打包成一次进行更新 类似于快递点寄快递 囤积了一些包裹后一次投递 而不是你每次修改 state 都会进行更新 这样的设计主
  • BAT大厂陆续裁员,2023,还能入职大厂吗?

    2022年 陆续传出了京东 字节 阿里 腾讯等大公司裁员的消息 让人有点看不懂的是 裁员过后 却是各大公司继续招人的消息 一边招一边裁 这是什么 玩法 鲶鱼效应告诉我们 活力来源于竞争 来自于压力和挑战 若不淘汰那些学习能力弱 技术提升慢
  • 程序设计思维 week9 作业B-东东学打牌

    目录 题目 Input Ouput Sample Input Sample Ouput 思路 代码 总结 题目 所有扑克牌只按数字来算大小 忽略花色 每张扑克牌的大小由一个值表示 A 2 3 4 5 6 7 8 9 10 J Q K 分别指
  • 实时手写数字识别

    PS 好久之前的博客了 再整理百度云的时候翻到了之前的代码 贴在这里 代码 手写数字识别作为模式识别领域的一个重要问题 也有着重要的理论价值 在大数据时代的背景下 其应用领域非常之广 很多学者对手写数字识别提出了不同的算法 取得了不错的测试
  • 交易猫不显示服务器,交易猫上号器一直显示检查游戏环境

    交易猫上号器怎么登录 1 进入交易猫官网 在首页搜索店铺名字 租号社区 2 进入卖家店铺 租号社区 选购帐号 3 下单后等待客服发送帐号信息 上号器下载链接和解锁码 4 收到解锁码后进入下载链接下载专用上号器 5 安装好后输入12开头的登录
  • static用法

    本用法针对于C语言 文中所用代码在Qt中均运行成功 static 主要用法 修饰变量 修饰函数 1 修饰变量 形成动态变量和静态变量 动态变量 不使用static include