【学习笔记】C++每日一记[20240513]

简述静态全局变量的概念

在全局变量前加上static关键字,就定义了一个静态全局变量。通常情况下,静态全局变量的声明和定义放在源文件中,并且不能使用extern关键字将静态全局变量导出,因此静态全局变量的**作用于仅限于定义静态全局变量所在的文件内部。**普通全局变量的作用于是整个工程,在头文件中使用extern关键字声明普通全局变量,并在源文件中定义,其他文件只要使用#include包含声明普通全局变量的头文件,就可以在当前文件中使用普通全局变量。

static int sgn; //首先定义一个静态全局变量,在main函数中赋值
void increaseSG(){sgn++;}int main(){sgn = 10; //表明在main函数中静态全局变量可见cout<<sgn<<endl; increaseSG(); //调用increaseSG()函数进行自增操作,表明静态全局变量在函数中也是可见的cout<<sgn<<endl;getchar();
}

如果在头文件中声明静态全局变量,静态全局变量在声明的同时会被初始化,如果静态全局变量没有显式地初始化则会初始化为默认值,相当于在头文件中同时完成声明和定义,而普通全局变量不能直接定义在头文件中。

sizeof的使用

在C语言中,可以通过sizeof运算符获取其操作数所占内存空间的字节数。需要注意的是,sizeof是一个单目运算符,并不是一个函数。在使用sizeof运算符时,其操作数可以是类型名,也可以是表达式。如果是类型名,则直接获得该类型的字节数;如果是表达式,则先分析表达式结果的类型,再确定所占字节数,而并不对表达式实际进行计算。

int a = 3;
double b = 7.5;
sizeof(int);  //result is 4
sizeof(a);  //result is 4
sizeof(b);  //result is 8
sizeof(a+b);  //result is 8

在这里插入图片描述

虽然对表达式进行sizeof运算时可以不加括号,但推荐使用带括号的书写方式。在实际应用中,很少单独使用sizeof运算符计算某一个类型或表达式所占的字节数,通常使用sizeof运算符都是与内存分配或计算数组长度等需求配合使用。

在申请内存空间时,可以使用sizeof运算符加上类型名作为分配空间的基数。

int *ptr = (int*)malloc(sizeof(int)*20);

在计算数组中元素的个数时,可以使用sizeof运算符加上数组元素类型作为基数。

int count = sizeof(darray)/sizeof(double); 

其中daaray是一个数组名,将数组名作为sizeof运算符的操作符可以获得整个数组所占的空间。如果darray作为实参传递给子函数,子函数中形参对应的参数已经变为指针,而对指针使用sizeof运算符只能获取指针本身所占的字节数。

void main(double darray[])
{cout<< sizeof(darray)/sizeof(double) <<endl; //output: 4/8=0
}int main()
{double darray[20];cout<< sizeof(darray)/sizeof(double) <<endl; //output: 160/8=20
}

在这里插入图片描述
在这里插入图片描述
注意:不要使用sizeof运算符计算字符串的长度,计算字符串长度应该使用strlen函数。sizeof函数一个运算符,用于获取类型或表达式所占内存的大小;strlen是一个函数,用于计算字符串中字符的个数,其中字符串结束符\0不会被计算在内。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/12009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

振弦式应变计的与实际测量值不一致怎么办

在进行结构健康监测或其他工程测量时&#xff0c;精确性和可靠性至关重要。振弦式表面应变计是一种广泛使用的测量工具&#xff0c;它通过测量材料表面的应变来评估结构的应力状态。然而&#xff0c;在实际应用中&#xff0c;振弦式应变计的测量值与实际应变值之间的不一致问题…

【JavaScript】---- 使用 Tween 实现转盘抽奖

1. 实现效果 2. 需求分析 它和正常的转盘抽奖不一样&#xff0c;一般实现都是指针形式的&#xff0c;转盘转动&#xff0c;最后指针停留在奖品的随机位置&#xff1b;通过上边图发现奖品必须刚好停留在奖品的位置&#xff0c;因为不是指针&#xff0c;所以不能最后落到随机位置…

福建聚鼎:做装饰画到底能不能赚钱

在探讨做装饰画能否成为盈利的行当之前&#xff0c;我们必须认识到任何一门艺术或手工的价值并非仅仅取决于其直接的经济收益。艺术创作本身就是一种文化传承和个人情感表达的方式&#xff0c;它对创作者和社会都有着不可估量的精神价值。然而&#xff0c;将话题限定在经济回报…

武汉星起航跨境电商:亚马逊自发货订单处理全流程解析

在亚马逊电商平台上&#xff0c;自发货订单的处理是卖家日常运营中的重要环节。正确的处理流程不仅能确保交易的顺畅进行&#xff0c;还能提升买家满意度&#xff0c;进而促进销售业绩的提升。武汉星起航在这里整理了亚马逊自发货订单的处理流程&#xff0c;帮助卖家更好地管理…

基于ChatGPT 和 OpenAI 模型的现代生成式 AI

书籍&#xff1a;Modern Generative AI with ChatGPT and OpenAI Models: Leverage the capabilities of OpenAIs LLM for productivity and innovation with GPT3 and GPT4 作者&#xff1a;Valentina Alto 出版&#xff1a;Packt Publishing 书籍下载-《基于ChatGPT 和 Op…

4 局域网技术(一):局域网概述

目录 1 局域网概述1.1 局域网的特点1.2 局域网的介质访问控制方法1、具有冲突检测的载波侦听多路访问&#xff08;CSMA/CD&#xff09;对几个概念进行解释CSMA/CD的说明 2、令牌&#xff08;Token&#xff09;技术 1.3 网络适配器1、网络适配器的功能2、网卡的总类3、Ethernet网…

视频太大了?这2招轻松完成在线视频压缩

在当今数字媒体时代&#xff0c;视频文件的大小往往是一个让人头疼的问题。无论是拍摄的素材、编辑的成品还是下载的内容&#xff0c;过大的视频文件不仅占用大量存储空间&#xff0c;还可能影响传输速度和播放流畅度。那么&#xff0c;如何轻松完成在线视频压缩&#xff0c;减…

【网络安全产品互联互通 告警信息资产信息】相关思维导图

近日&#xff0c;在某客户安全建设项目中&#xff0c;涉及安全告警事件的梳理上报。在整理及学习中发现最近&#xff08;以19年等保2.0为参考分隔“最近”&#xff09;发布的可参考标准&#xff0c;因此做了思维导图的整理。 PS&#xff1a;标准中存在引用的情况&#xff0c;过…

数字序列比大小 - 贪心思维

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法&#xff0c;所以会发布自己的解题思路&#xff0c;希望大家多指教 一、题目描述 A&#xff0c;B两个人万一个数字的游戏&#xff0c;在游戏前…

ansible利用playbook 部署lamp架构

搭建参考&#xff1a;ansible批量运维管理-CSDN博客 定义ansible主机清单 [rootansible-server ~]# vim /etc/hosts 192.168.200.129 host01 192.168.200.130 host02 [rootansible-server ~]# vim /etc/ansible/hosts [webserver] host01 host02 在ansible端编写index.html…

OpenAI 把超强AI带进日常,GPT-4o 让机器也懂情感!

一、前言 ⭐⭐ 立即体验&#xff1a;GPT-4o OpenAI 在春季发布会上推出了名为 GPT-4o 的旗舰级生成式人工智能模型&#xff0c;这一模型的发布不仅标志着技术的巨大飞跃&#xff0c;更预示着人机交互方式的全面革新。"o" 在 GPT-4o 中代表 "omni"&#xf…

使用 Express 框架构建的 Node.js web 应用程序

使用 Express 框架构建的 Node.js web 应用程序 ├── config │ └── config.js ├── middlewares │ └── errorHandler.js ├── routes │ ├── index.js │ ├── postRoutes.js │ └── userRoutes.js ├── .env ├── .gitignore ├── app.js ├…

新手必看:页面设计与网页设计的区别及应用指南

页面设计和网页设计都是创建网页的过程&#xff0c;但页面设计的焦点和目的与网页设计不同。页面设计往往更注重网站的视觉和交互设计&#xff0c;而网页设计则侧重于整个网站的架构和功能设计。本文将具体介绍页面设计与网页设计的区别&#xff0c;新手小看必看&#xff01; …

腾讯宣布混元文生图大模型开源: Sora 同架构,可免费商用

5月14日&#xff0c;腾讯宣布旗下的混元文生图大模型全面升级并对外开源&#xff0c;目前已在 Hugging Face 平台及 Github 上发布&#xff0c;包含模型权重、推理代码、模型算法等完整模型&#xff0c;可供企业与个人开发者免费商用。 这是业内首个中文原生的DiT架构文生图开…

YOLOv8_seg训练流程-原理解析[实例分割理论篇]

本篇将介绍一下YOLOv8实例分割网络的训练流程,同样在看此篇文章之前先去看一下预测流程YOLOv8_seg预测流程-原理解析[实例分割理论篇]-CSDN博客 ,还有目标检测任务的训练流程YOLOv8训练流程-原理解析[目标检测理论篇]-CSDN博客 ,这两篇都是前置课程,下图是YOLOv8实例分割的…

八字排盘软件-​无敌八字排盘软件

功能介绍 1.完全免费使用&#xff0c;即使用不需要付费且无任何限制。 2.同时推出手机版电脑版&#xff0c;两版本数据互通互用&#xff0c;即电脑版的数据可以备份到手机版上导入&#xff0c;手机版的数据也可以备份到电脑版上恢复导入&#xff0c;方便手机和电脑共用的朋友。…

基于Springboot汽车租赁预约管理系统

一&#xff1a;功能介绍 本系统是Springboot项目采用的技术栈主要有Spring、mybaits、springboot、mysql数据库 功能角色主要分为管理员、超级管理员、用户等几个角色 二&#xff1a;功能截图 三&#xff1a;源码获取

想让普通金额数字显示为逗号分隔的数字?

使用vueelement 后台传的数据 1.编写方法 放在method当中 /** 数字转换显示格式 */priceFormat (num, n) {n n || 2;let symbol ",";if (num null) return num;if (typeof num ! number) throw new TypeError(num参数应该是一个number类型);if (n < 0) thro…

【Docker与Termux】闲置旧安卓手机上的NAS无缝部署方案

最近有了新手机,旧手机也闲置了,由于之前一直在寻找平价的NAS替代方案,旧手机在抽屉躺了N天后,我决定让它重新焕发光彩,努力工作,继续拉磨。 这个时代的旧手机可以满足NAS的基本配置需求,内存、硬盘、内置电源、WIFI模块、快速接口,简直是理想中的NAS形态,但是散热、R…

240W 宽电压输入 AC/DC 导轨式开关电源——TPR/SDR-240-XS 系列

TPR/SDR-240-XS 导轨式开关电源&#xff0c;额定输出功率为240W&#xff0c;产品输入范围&#xff1a;85-264VAC。提供24V、48V输出&#xff0c;具有短路保护&#xff0c;过载保护等功能&#xff0c;并具备高效率&#xff0c;高可靠性、高寿命、更安全、更稳定等特点&#xff0…