当前位置: 首页 > news >正文

搜索网站做推广全网推广平台推荐

搜索网站做推广,全网推广平台推荐,可以做公司网站,python做后台开发移动网站文章目录 1.C 静态局部变量时2.C 静态全局变量/函数时3.C 类静态成员时静态成员变量静态成员函数 1.C 静态局部变量时 作用&#xff1a;函数内的“记忆者” 代码&#xff1a; #include <stdio.h>void counter() {static int count 0; // 只初始化一次&#xff01;cou…

文章目录

  • 1.C 静态局部变量时
  • 2.C 静态全局变量/函数时
  • 3.C++ 类静态成员时
    • 静态成员变量
    • 静态成员函数


1.C 静态局部变量时

作用:函数内的“记忆者”
代码:

#include <stdio.h>void counter() {static int count = 0;  // 只初始化一次!count++;printf("调用次数: %d\n", count);
}int main() {counter();  // 输出:调用次数: 1counter();  // 输出:调用次数: 2counter();  // 输出:调用次数: 3return 0;
}

特性:

  1. 存储在静态存储区
  2. 只初始化一次(首次执行时)
  3. 保持值跨函数调用(
  4. 默认初始化为0(static int x;等价于static int x = 0;

内存布局:
±------------------+
| 栈区 | ← 普通局部变量
±------------------+
| 堆区 | ← malloc分配的内存
±------------------+
| 静态存储区 | ← static变量在此
| ±-------+ |
| | count | |
| ±-------+ |
±------------------+
| 代码区 | ← 程序指令
±------------------+

2.C 静态全局变量/函数时

作用:文件内的“隐私保护者”
代码:
module1.c

static int hiddenVar = 42;  // 只能在本文件访问static void privateFunc() { // 只能在本文件调用printf("私有函数\n");
}void publicFunc() {privateFunc();  // 正确:同文件可调用printf("访问隐藏变量: %d\n", hiddenVar);
}

module2.c

extern void publicFunc(); int main() {publicFunc();// privateFunc();   // 错误!不可见// hiddenVar = 10; // 错误!不可见return 0;
}

特性:
1.实现封装:隐藏模块内部实现细节
2.避免命名冲突:不同文件的同名static变量互不影响
3.提高安全性:防止外部代码意外修改内部状态

3.C++ 类静态成员时

静态成员变量

作用:类的”共享状态“
代码:

class Player {
public:static int totalPlayers;  // 声明Player() {totalPlayers++;  // 所有对象共享计数器}static int getTotal() { return totalPlayers; }
};// 必须在类外定义和初始化!
int Player::totalPlayers = 0; int main() {Player p1;Player p2;cout << "玩家数量: " << Player::getTotal(); // 输出2
}

特性:
1.不属于任何对象,属于类本身
2.必须在类外单独定义和初始化
3.可通过类名直接访问(Player::totalPlayers)
4.所有对象共享同一份副本

静态成员函数

作用:类的“工具集”
代码:

class MathUtils {
public:static double pi() { return 3.1415926; }static int add(int a, int b) { return a + b; }
};// 使用示例:
double circleArea = MathUtils::pi() * radius * radius;
int sum = MathUtils::add(5, 3);

在这里插入图片描述

http://www.dtcms.com/a/535733.html

相关文章:

  • 仓颉编程(16)泛型类型
  • 「小有可为」AI 开源公益创新挑战赛
  • 《 Linux 点滴漫谈: 四 》文件权限与用户管理
  • 评估虚拟机资源规划
  • 深入理解 SO_REUSEADDR:从“Address already in use”到服务器瞬间重启
  • 机器人中的多模态——RoboBrain
  • MySQL 8.0.x 全平台安装指南:Windows、CentOS、Ubuntu 详细步骤与问题解决
  • YOLO!!
  • 电子电气架构 --- 汽车座舱行业背景综述
  • C++(23):通过print和printIn进行输出
  • 获取网站访客qq号成都网站建设优点
  • 做一个同城便民信息网站怎么做公司给别人做的网站违法吗
  • 微算法科技(NASDAQ MLGO)探索自适应差分隐私机制(如AdaDP),根据任务复杂度动态调整噪声
  • 入选大模型一体机产业图谱,云从科技以全栈能力推动AI落地新范式
  • 十六、STM32的TIM(七)(PWM直流电机)
  • TCP与UDP深度理解
  • 万界星空科技MES系统功能介绍及实施指南
  • 中国软件出海,为何优选亚马逊云科技Marketplace?
  • StarRocks Community Monthly Newsletter (Sep)
  • HarmonyOS 微服务与 OpenHarmony 开发:构建模块化与开源生态应用
  • autojs----2025淘宝淘金币跳一跳自动化
  • 什么网站可以做兼职赚钱吗互联网商城建设
  • 地方网站系统建模素材免费网站
  • 东莞百度网站快速排名怎么用.net做网站
  • IP5306 2.4A放电 2.1A充电 高集成度移动电源SOC
  • Qt5与Qt6的详细区别
  • Sui 主网升级至 V1.58.3
  • [优选算法专题五.位运算——NO.35~36 只出现一次的数字 II、消失的两个数字]
  • 晶台光耦KL101X:光伏发电系统的安全卫士与效率引擎
  • 普诚PT5139深度解析:功能特性、应用场景与技术优势