c语言-static
static作用:修饰变量和函数
修饰局部变量-静态局部变量
static未修饰局部变量
#include <stdio.h>void print()
{int a = 0;a++;printf("%d ", a);
}int main()
{int i = 0;for (i = 0; i < 10; i++){print();}return 0;
}
运行结果

static修饰局部变量
#include <stdio.h>void print()
{static int a = 0;a++;printf("%d ", a);
}int main()
{int i = 0;for (i = 0; i < 10; i++){print();}return 0;
}
运行结果

原因分析:
static修饰局部变量的时候,局部变量出了作用域,不销毁,本质上static修饰局部变量的时候,改变了变量存储的位置,进而使变量的生命周期变长,与程序的生命周期一致

修饰全局变量-静态全局变量
static未修饰全局变量
test.c中代码
#include <stdio.h>extern int global_tmp;int main()
{printf("%d", global_tmp);return 0;
}
tmp.c中
int global_tmp = 100;
运行结果

static修饰全局变量
报错

原因分析:
全局变量具有外部链接属性,当static修饰全局变量,全局变量的外部链接属性变成了内部链接属性,其他源文件(.c)文件就不能使用这个全局变量
修饰函数-静态函数
static未修饰函数
test.c代码
#include <stdio.h>extern int Add(int x, int y);int main()
{printf("%d", Add(1, 1));return 0;
}
tmp.c代码
int Add(int x, int y)
{return x + y;
}
运行结果

static修饰函数

原因分析
函数是具有外部链接属性,但是被static修饰的时候,外部链接属性变为内部链接属性,其他源文件(.c)文件就不能使用这个函数
相关文章:
c语言-static
static作用:修饰变量和函数 修饰局部变量-静态局部变量 static未修饰局部变量 #include <stdio.h>void print() {int a 0;a;printf("%d ", a); }int main() {int i 0;for (i 0; i < 10; i){print();}return 0; }运行结果 static修饰局部变…...
zuul的性能调优
文章目录 zuul的性能调优Zuul参数剖析semaphore(信号量)ribbonhystrix高并发下常见Zuul异常熔断 zuul 1.x 与2.x的区别与总结 zuul的性能调优 在项目实践中,使用jemeter多线程并发访问微服务中的接口时候,在Zuul层出现异常、超时等,从而导致整…...
C++中的动态内存管理
1.C中动态内存管理 C语言内存管理方式在C中可以继续使用,但有些地方就无能为力,而且使用起来比较麻烦,因此C又提出了自己的内存管理方式:通过new和delete操作符进行动态内存管理。 1.1 new/delete操作内置类型 c语言和c的动态内存…...
es6的核心语法
在学习低代码时,经常有粉丝会问,低代码需要什么基础,es6就是基础中的一项。我们本篇是做一个扫盲,可以让你对基础有一个概要性的了解,具体的每个知识点可以深入进行了解,再结合官方模板就会有一个不错的掌握…...
Unity | 射线检测及EventSystem总结
目录 一、知识概述 1.Input.mousePosition 2.Camera.ScreenToWorldPoint 3.Camera.ScreenPointToRay 4.Physics2D.Raycast 二、射线相关 1.3D(包括UI)、射线与ScreenPointToRay 2.3D(包括UI)、射线与ScreenToWorldPoint …...
职业经验 2024 年测试求职手册
原贴地址: 2024 年测试求职手册 TesterHome 经历年前年后差不多 2 个月左右时候的求职,是时候总结复盘一下了,本打算在自己有着落再复盘,但是一想那时候似乎价值就没现在去做显得有意义一些,这篇帖子更多的是让大家看下有没有心…...
Spring Boot与Redis深度整合:实战指南
Spring Boot 整合 Redis 相当简单,它利用了 Spring Data Redis 项目,使得我们可以在 Spring Boot 应用中轻松地操作 Redis。以下是如何整合 Redis 到 Spring Boot 应用的基本步骤: 1. 添加依赖 首先,在你的 pom.xml 文件中添加 …...
微服务(基础篇-006-Docker安装-CentOS7)
目录 05-初识Docker-Docker的安装_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LQ4y127n4?p46&spm_id_frompageDriver&vd_source60a35a11f813c6dff0b76089e5e138cc 0.安装Docker 1.CentOS安装Docker 1.1.卸载(可选) 1.2.安装dock…...
前端-css-01
1.CSS 长度单位和颜色设置 1.1CSS 中的长度单位 px 像素 em 字体大小的倍数(字体默认是16px) % 百分比 1.2CSS 中的颜色设置方式 1.2.1使用颜色名表示颜色 red、orange、yellow、green、cyan、blue、purple、pink、deeppink、skyblue、greenyellow .…...
Java学习36-Java 多线程安全:懒汉式和饿汉式
JAVA种有两种保证线程安全的方式,分别叫懒汉式Lazy Initialization和饿汉式Eager Initialization,以下是他们的区别: 线程安全性: 懒汉式本身是非线程安全的,因为多个线程可能同时检查实例是否为null,并尝…...
sql常用之CASE WHEN THEN
sql常用之CASE WHEN THEN SQL中的 CASE 类似编程语言里的 if-then-else 语句,用做逻辑判断。可以用于SELECT语句中,也可以用在WHERE,GROUP BY 和 ORDER BY 子句;可以单独使用,也可以和聚合函数结合使用。 语法&#…...
【PduR路由】IPduM模块详细介绍
目录 1.IpduM功能简介 2.IpduM模块依赖的其他模块 2.1RTE (BSW Scheduler) 2.2PDU Router 2.3COM 3.IpduM功能详解 3.1 功能概述 3.2 I-PDU多路复用I-PDU Multiplexing 3.2.1 Definitions and Layout 3.2.2通用功能描述 General 3.2.3模块初始化 Initialization 3.…...
【MySQL】6.MySQL主从复制和读写分离
主从复制 主从复制与读写分离 通常数据库的读/写都在同一个数据库服务器中进行; 但这样在安全性、高可用性和高并发等各个方面无法满足生产环境的实际需求; 因此,通过主从复制的方式同步数据,再通过读写分离提升数据库的并发负载…...
Lucene及概念介绍
Lucene及概念介绍 基础概念倒排索引索引合并分析查询语句的构成 基础概念 Document:我们一次查询或更新的载体,对比于实体类 Field:字段,是key-value格式的数据,对比实体类的字段 Item:一个单词࿰…...
密码算法概论
基本概念 什么是密码学? 简单来说,密码学就是研究编制密码和破译密码的技术科学 例题: 密码学的三个阶段 古代到1949年:具有艺术性的科学1949到1975年:IBM制定了加密标准DES1976至今:1976年开创了公钥密…...
实时数仓之实时数仓架构(Hudi)
目前比较流行的实时数仓架构有两类,其中一类是以FlinkDoris为核心的实时数仓架构方案;另一类是以湖仓一体架构为核心的实时数仓架构方案。本文针对FlinkHudi湖仓一体架构进行介绍,这套架构的特点是可以基于一套数据完全实现Lambda架构。实时数…...
2022-04-15_for循环等_作业
for循环 编写程序数一下 1到 100 的所有整数中出现多少个数字9计算1/1-1/21/3-1/41/5 …… 1/99 - 1/100 的值,打印出结果求10 个整数中最大值在屏幕上输出9*9乘法口诀表二分查找 编写程序数一下 1到 100 的所有整数中出现多少个数字9 #include <stdio.h>in…...
脑机辅助推导算法
目录 一,背景 二,华容道中道 1,问题 2,告诉脑机如何编码一个正方形格子 3,让脑机汇总信息 4,观察图,得到启发式算法 5,根据启发式算法求出具体解 6,可视化 一&am…...
【原创教程】三菱FX PLC控制FR-E740变频器
变频器的使用 1. 使用三菱FX PLC 控制变频器时,接线图请按下图所示接线。 各个端子的说明如下: R、S、T:变频器电源,E740变频器电源位3相380V。 STF:正转启动, STF信号ON时为正转、OFF时为停止指令。 STR :反转启动,STR信号ON时为反转、OFF时为停止指令。 RH、RM、RL…...
重读Java设计模式: 深入探讨建造者模式,构建复杂对象的优雅解决方案
引言 在软件开发中,有时需要构建具有复杂结构的对象,如果直接使用构造函数或者 setter 方法逐个设置对象的属性,会导致代码变得冗长、难以维护,并且容易出错。为了解决这个问题,我们可以使用建造者模式。 一、建造者…...
Claude Code安装保姆级教程!超简单上手就会!
Claude Code驾驶手册 文章目录 Claude Code驾驶手册0 前言1 Claude Code基本安装配置1.1 系统配置及安装1.2 启动Claude Code1.3 配置API 0 前言 AI Agent 称为智能体(或人工智能代理),本质是自动执行任务的程序,核心在于让模型不…...
EVA-02在社交媒体分析中的应用:舆情摘要与情感倾向判断
EVA-02在社交媒体分析中的应用:舆情摘要与情感倾向判断 最近跟一个做品牌营销的朋友聊天,他正为每天要处理海量的社交媒体评论发愁。团队几个人盯着屏幕,手动翻看、记录、总结,不仅效率低,还容易漏掉关键信息。他问我…...
嵌入式系统的实时性能优化详解
嵌入式系统的实时性能优化详解 实时系统概述 实时系统是指能够在规定的时间内完成特定任务的系统,其正确性不仅取决于计算结果的正确性,还取决于结果产生的时间。在嵌入式系统中,实时性能优化至关重要。 实时系统分类 硬实时系统…...
别再只扫端口了:利用Google语法精准定位Edusrc等证书站脆弱资产(附实战案例)
别再只扫端口了:利用Google语法精准定位Edusrc等证书站脆弱资产(附实战案例) 在渗透测试的初期阶段,资产搜集的质量往往决定了整个项目的成败。许多安全工程师都曾陷入这样的困境:花费大量时间扫描端口和服务ÿ…...
DAMOYOLO-S入门教程:如何扩展自定义类别——微调适配行业新标签
DAMOYOLO-S入门教程:如何扩展自定义类别——微调适配行业新标签 你是不是遇到过这样的问题?手头有一个很棒的通用目标检测模型,比如DAMOYOLO-S,它识别猫猫狗狗、汽车行人很在行,但你想让它帮你检测生产线上的特定零件…...
Python实战:线性方程组求解的三大直接分解法(Doolittle、克劳特、追赶法)性能对比与应用场景
1. 线性方程组求解的三大直接分解法概述 遇到线性方程组求解问题时,很多开发者会直接调用现成的库函数。但了解底层算法原理,能帮助我们在特定场景下选择最优解法。就像开车时知道发动机原理,遇到故障时就能更快定位问题。今天要聊的Doolittl…...
4吨卧式燃气蒸汽锅炉食品厂洗涤商用
WNS型4吨卧式燃气蒸汽锅炉,专为食品加工、商用洗涤等行业量身打造,是高效稳定、环保节能的核心供汽设备,完美适配食品蒸煮杀菌、洗涤熨烫烘干等高频蒸汽需求,助力企业降本增效、合规生产。 锅炉采用卧式三回程湿背式经典结构&…...
Llama-3.2V-11B-cot保姆级教学:模型卸载与多版本共存方案
Llama-3.2V-11B-cot保姆级教学:模型卸载与多版本共存方案 1. 项目背景与需求 Llama-3.2V-11B-cot作为一款基于Meta多模态大模型开发的高性能视觉推理工具,在双卡4090环境下表现出色。但在实际使用中,开发者经常面临以下痛点: 模…...
【deepseek】SYCL™ 2020 Specification 简介
SYCL™ 2020 Specification 简介 SYCL 2020 是由 Khronos Group 发布的异构计算标准,它是 SYCL(发音为 “sickle”)规范的最新主要版本。SYCL 是一种基于标准 C 的编程模型,旨在简化在各种硬件加速器(如 CPU、GPU、FPG…...
【Python实战解析】从数据爬取到房价预测:一个完整的数据科学项目实战
1. 从零开始:房产数据爬取实战 第一次做房产数据爬取时,我盯着满屏的HTML标签差点崩溃。但后来发现,只要掌握几个关键技巧,爬取房产网站数据其实比想象中简单得多。我们这次要爬取的是长沙二手房数据,包含户型、面积、…...
