C面试题中 const、static

C/C++面试题 C/C++的面试题总结,不断更新(自用) 阅读详情

1、const

作为一个程序员,我们看到关键字const时,首先想到的应该是:只读。因为,它要求其所修饰的对象为常量,不可对其修改和二次赋值操作(不能作为左值出现)。看几个例子:

const int a; a是一个常整型数

int const a; a是一个常整型数
const int *a; a是一个指向常整型数的指针,整型数是不可修改的,但指针可以
int * const a; a为指向整型数的常指针,指针指向的整型数可以修改,但指针是不可修改的

int const * a const; a是一个指向常整型数的常指针,指针指向的整型数是不可修改的,同时指针也是不可修改的


2、static

(1)static的使用场景包括三种: 
修饰函数体内的变量 
修饰函数体外的变量 

修饰函数 


(2)第一种情况,static延长了局部变量的生命周期,static的局部变量,并不会随着函数的执行结束而被销毁,当它所在的函数被第再次执行时,该静态局部变量会保留上次执行结束时的值

(3)对于后面的两种情况,static是对它修饰的对象进行了作用域限定,static修饰的函数以及函数外的变量,都是只能在当前的代码文件中被访问,其它的文件不能直接访问。当多个模块中有重名的对象出现时,不妨把它们用static进行修饰。 


相关问题:

(1)static全局变量与普通的全局变量有什么区别:

static全局变量只初使化一次,防止在其他文件单元中被引用;

(2)static局部变量和普通局部变量有什么区别:

static局部变量只被初始化一次,下一次依据上一次结果值;

(3)static函数与普通函数有什么区别:

static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝


C语言常见面试题 堆在内存中的管理由程序员自行管理,使用完毕后必须手动释放,否则会导致内存泄漏,堆的空间容量相对较大,可以动态扩展空间,访问堆需要通过指针间接访问,响应速度相对较慢。扩展:函数调用开销在C++中可以用内联函数规避,内联函数是在编译阶段进行函数体替换,但缺点是函数体内必须简洁,不能使用循环以及开关语句。栈在数据结构中分为顺序栈与链式栈,为顺序存储结构,存储数据要求先进后出,堆在数据结构中主要使用二叉树实现,分为大顶堆与小顶堆。//常量指针,不能通过指针p去修改变量a的值,但可以改变p的指向。 阅读详情

相关推荐

从零搭建《火影忍者》手游服务端:Linux环境部署与全流程实战

游戏服务器后端开发是构建大型多人在线体验的核心技术,其原理涉及高并发网络通信、分布式系统架构与数据一致性保障。在技术价值上,一套稳定高效的服务端不仅能支撑海量玩家实时交互,更是游戏业务逻辑、经济系统和安全防线的基石。典型的应用场景包括MMORPG、回合制卡牌、SLG等中重度手游。本文以《火影忍者》IP的横版卡牌回合制手游为例,聚焦于**手工服务端**的完整搭建过程,详细拆解从Linux系统初始化、MySQL与**Redis**缓存部署、核心服务编译、到代理后台联调的全链路实践,为开发者深入理解游戏后端架构提

weixin_30800615的博客 338

C++ static & const 成员函数面试题核心要点

静态成员函数不能直接调用非静态成员函数,因为缺少this指针,但可通过传入对象实例间接调用;非静态函数可以自由调用静态函数。const对象只能调用const成员函数以保护数据不被修改,而非const对象可以调用const成员函数。const成员函数内不能调用非const成员函数,否则会破坏const语义。这些规则体现了C++对对象访问权限的严格类型安全检查机制。

dingdianduoyu_的博客 478

基于STM32的宠物智能照护嵌入式系统设计

嵌入式系统是实现物联网终端设备本地化感知、决策与执行的核心技术载体,其关键在于多传感器融合、低功耗执行控制与轻量级云边协同。本文围绕环境监测(温湿度、烟雾、余粮)、机电执行(步进电机食盘、继电器风扇)和可靠通信(MQTT+ESP8266)三大技术主线,深入解析STM32F103在资源约束下的外设调度策略、ADC采样抗干扰设计、DHT11时序精准控制及HX711称重滤波算法等工程实践要点。系统强调本地闭环优先原则,确保离线基础功能可用,同时通过阿里云IoT平台实现远程监控与告警联动,为中小型智能硬件项目提供可

weixin_29155599的博客 293

面试之:谈谈对const的理解

const理解

0xa00 176

STM32实现简单的智能电子相框

具体的代码案例和详细的代码实现超过5000字,无法在此篇文章中提供。但是,你可以参考STM32的官方文档和相应的图形库和多媒体库的文档,以获得更详细的实现细节和代码示例。对于硬件,我们可以选择使用STM32开发板,如STM32F4 Discovery。对于软件开发环境,我们将使用Keil MDK-ARM作为开发工具,并使用STM32CubeMX进行代码配置。在本文中,我们将使用STM32单片机实现一个简单的智能电子相框,包括显示照片、播放视频和音乐功能。接下来,我们将详细描述实现智能电子相框的步骤。

2401_85625565的博客 1006

Python爬虫教程:爬取法院司法拍卖数据全流程实战(附反爬+数据分析方案)

Python爬虫爬取法院司法拍卖数据的核心是模拟真人行为规避反爬+精准解析页面数据+合理处理数据。新手不用一开始就追求高级的反爬技巧和复杂的数据分析,先把基础的分页爬取和数据保存功能跑通,再逐步优化。我做的这个工具现在每周帮朋友爬取全国10个城市的法拍房数据,自动生成分析报告,他说这让他的投资决策效率提升了一倍。如果你们在开发过程中遇到问题,比如反爬失败、数据解析错误,都可以在评论区留言,我会尽力解答。后续我还会出一期爬取京东司法拍卖数据的教程,帮助大家获取更多的法拍数据来源。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2177

面试官常考的C++关键字(static与const、volatile(重点)、struct与class)

6、关键字 6.1、static和const 6.2、define、typedef、inline、const 6.3、struct和class 6.4、final和override 6.5、overload、override、hide 6.6、volatile、mutable、explicit 6.7、strlen和sizeof 6.8、cout和printf 6.9、extern 6.10. enum、union、struct 6.11、auto、decltype、decltype(auto) ...

loytuls的博客 1586

vue3:实现ECharts3D地图详细示例,echarts实现3D地图map3D,vue3如何利用echarts绘制3d地图立体城市省市地区分布,可视化数据大屏3D炫酷中国地图(复制源码,开箱即用)

echarts实现中国地图记录篇之3D地图,Echarts地图之——如何让地图显示出3d感,【3d地图】vue中使用echarts geo3D,echarts实现某个市3D地图展示,vue3中使用echarts实现中国地图,3D地图图表,echarts实现3D地图——map3D,数据大屏3d地图,vue3+echarts绘制中国地图,3D地图,省、市、县,【3d地图】vue3中使用echarts geo3D,echarts实现某个市3D地图展示,ECharts3D地图(详细示例——附有具体注释),echar

✅ 精选推荐文章 3669

C语言面试题(答案仅供参考)

【1】static表示静态【2】static修饰局部变量①普通局部变量,生命周期短,调用结束后就会被回收②生命周期长,直到程序结束才会被回收,生命周期像全局变量【3】static修饰全局变量普通全局变量,可以跨文件使用,静态全局变量只能在当前.c文件中使用【4】static修饰函数普通函数可以跨文件调用静态函数,只能在当前.c文件用调用。

m0_68557555的博客 1965

Python 爬虫实战:去哪儿网机票价格爬取与出行比价分析

本文介绍了一个基于Python的机票价格监控系统,通过爬取去哪儿网数据实现多航线查询与智能比价。系统采用requests+BeautifulSoup+selenium技术栈,具备以下功能: 实时查询指定航线价格 历史价格追踪与分析 最低价推荐与价格预警 数据可视化展示 文章详细解析了去哪儿网的页面结构和反爬机制,提供了Selenium浏览器的完整配置方案,并实现了一个可稳定运行的机票采集爬虫。该系统能帮助用户掌握价格波动规律,选择最优购票时机,每年可节省可观的出行成本。

u014481728的博客 670

华为昇腾开发——多模型资源管理(C++)

在使用Ascend ACL(Ascend Computing Language)的ACLLite库进行多模型推理时,合理的资源管理至关重要。

如果想成为中心,那么就到中心去吧。 575

C C++ static关键字详解(最全解析,static是什么,static如何使用,static的常考面试题)_static面试

static,中文意思是静态的,作为C/C++中常用关键字中的一个很重要的关键字,其中用法多样且复杂难以理解,用起来总是丈二和尚摸不着头脑,把我折磨的一头雾水(主要是博主很菜😂)。也许大家对于这些知识都是一知半解(除过一些大佬),没有真正的搞透澈,一问我都会(这就是我),但是真正引用的时候,就会出现很多问题,而且百度的时候,大部分都讲得不是很清楚,所以为了帮助大家解决这个问题(实际上是自己不会),在这里进行一个全面的static介绍和总结。本文将会循序渐进,先从C语言。

2501_90243429的博客 1533

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

c语言面试题----const、static关键字

原创2017-12-26创新教育研究中心TeachPlus c语言面试题----const、static关键字 请看这题:请说出 static和 const关键字尽可能多的作用 本题解答 解答: static关键字至少有下列几个作用: (1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一 次,因此其值在下次调用时仍维持上次的值; (

study_plus的博客 3319

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

c语言static. volatile,c语言面试题:关键字static,const,volatile的用法

95.关键字static的作用是什么?在 C 语言中,关键字 static 有三个明显的作用:1).在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2).在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3).在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它...

weixin_39607873的博客 249

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

嵌入式面试中的static,const,volatile

Static 1. 关键字static的作用是什么? 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1) 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数...

嵌入式之斋 1161

C语言相关常见面试题:volatile、static、extern、const关键字

1、volatile 一个变量可能是供多方使用的,那么就有可能在某一个程序运行时,这个变量的值被其他程序改变(内存地址中的值被改变),但是读取这个变量时,可能是直接从寄存器中读取,而此时寄存器中的值还是变量改变之前的值。这就会导致得出意想不到的结果。 使用volatile修饰变量,表示声明这个变量是“易变的”,每次读取这个变量值都要从内存中读取,而不是从寄存器中读取。 1.1 volatile的作用: 确保本条指令不会因编译器的优化而省略,使用volatile 声明的变量的值的时候,系统总是重新从它所在的内

树下等苹果的博客 875

【C/C++面试题】const、define、extern、typedef、volatile、static的定义与区别

文章目录constdefineexterntypedefstaticvolatileconst与#define相比,有何优点?typedef和define有什么区别C 语言的关键字 static 和 C++ 的关键字 static 有什么区别一个指针可以是 volatile吗?const和volatile可以同时修饰一个变量吗? const const用来定义一个只读的变量或对象。 主要优点:便于...

zhong_senvi的博客 710

w~嵌入式C语言~合集5~面试题系列

我自己的原文哦~ https://blog.51cto.com/whaosoft/13870328给自己的学习总结帖~~ 这里仅都是c语言 嵌入式相关代码第5季啊#error的作用是什么?#error 指令让预处理器发出一条错误信息,并且会中断编译过程。下面我们从Linux代码中抽取出来一小段代码并做修改得到示例代码:这段示例代码很简单,当RX_BUF_IDX宏的值不为0~3时,在预处理阶段就会通过 #error 指令输出一条错误提示信息:"Invalid configuration for

whaosoft~aiotの开发板商城 967

const和static的作用

关键字 const 是什么 ,有什么作用 符号常量 ① 对变量,防止变量被改变 ② 对指针,可以修饰指针本身,可以修饰指针所指的内容 ③ 对类的成员函数,变为成员函数,不能改成员数据的值 ④ 对类的成员函数,修饰返回值,使其返回值不为左值 static 有什么作用 ① 修饰全局变量,不修饰时全局变量对一个源文件的所有.c都有效(加extern),反之加也用不了 ② 修饰局部变量,未初始化初始值为0,作用域没变,存储空间由默认的自动分配方式获取改为静态分配,且只能初始化一次(编译器实现) ③ 修饰成员变量,修

chenmiaoyan的博客 354

9.5QTday6作业

2.static修饰成员函数时,该成员函数属于类中的,不属于类对象,可以不实例化对象直接通过类名加域限定符进行调用,该静态成员函数不能调用类中的非静态成员变量,只能调用静态成员变量。5.static修饰的静态成员变量在被类的实例化对象调用时不占用类的内存空间,相当与在类中定义了一个全局变量,当多个类中都调用了静态成员变量时,相当于对静态成员变量的地址进行操作,一个类对象修改了其的值,其他所有类对象中的静态成员变量都相应改变。2.修饰的对象是常对象,所有数据成员都不能被改变,成对象只能调用常成员函数。

m0_64588047的博客 1039

嵌入式经典面试题---C中有关预处理,关键字const、volatile、static,位操作,等等

红色是我标注的重点,绿色是自己添加的内容  C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。           从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI

musesea的专栏 1960

C/C++程序员应聘常见面试题深入剖析

 http://dev.yesky.com/349/8081849.shtmlC/C++ 程序设计员应聘常见面试试题深入剖析本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。   许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出

487

【C++类型转换和IO流】

而使用dynamic_cast进行向下转型则是安全的,如果父类的指针(或引用)指向的是子类对象那么dynamic_cast会转换成功,但如果父类的指针或引用指向的是父类对象那么dynamic_cast会转换失败并返回一个空指针。上述代码中,如果传入func函数的是子类对象的地址,那么在转换后pb1和pb2都会有对应的地址,但如果传入func函数的是父类对象的地址,那么转换后pb1会有对应的地址,而pb2则是一个空指针。用转换后的函数指针调用该函数时没有传入参数,因此这里打印出参数i的值是一个随机值。

2301_76560014的博客 989

程序员面试题汇总之C/C++关键字(一)

从今天开始,每天整理一个专题的面试题汇总,以便后面求职使用。 关键字是组成用语言的最基本单位,对于关键字的理解,有助于编写高质量的代码。 1.1 static(静态)变量有什么作用? 在C语言中,其3个明显的作用: 在函数体内,静态变量具有“记忆”功能,即一个被声明为静态的变量在这一函数被调用的过程中其值维持不变。 在模块内(但在函数体外),它的作用域范围是有限制的,即如果一个变量被声明为...

weixin_42388255的博客 593

200道C语言面试题全解析:基础到进阶一网打尽

本文整理了 200 道 C 语言高频面试题,内容涵盖基础语法、指针、内存管理、字符串操作、预处理、函数、位运算、嵌入式开发、代码调试及大厂进阶原理,附带完整可运行代码与详细解析,适合编程学习、笔试复习与面试突击。

x1649545783的博客 737
上一篇: C面试题中 volatile
下一篇: 服务端C/C++开发所需要准备的
FDmitnick
博客等级 码龄10年 8粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值