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

【C++ 面试 - 基础题】每日 3 题(十六)

 ✍个人博客:Pandaconda-CSDN博客

📣专栏地址:http://t.csdnimg.cn/fYaBd

📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪

 46. 写出 int 、bool、float、指针变量与 “零值” 比较的 if 语句

//int与零值⽐较
if ( n == 0 )
if ( n != 0 )//bool与零值⽐较
if (flag) // 表示flag为真
if (!flag) // 表示flag为假//float与零值⽐较
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON) //其中EPSINON是允许的误差(即精度)。//指针变量与零值⽐较
if (p == NULL)
if (p != NULL)

 47. 大小端字节序

大端字节序是看着一样的,数据低位存在内存大位 (高位)。

小端字节序看着是反过来的,数据低位存在内存小位 (低位)。

字节序的单位应该是字节,所以 string (char 为组织结构) 是没有大小端之分的。

但是看 int 和 short 是能看出来是大端字节序还是小端字节序,借助 union。

有现成的转换函数。BSD Socket提供了封装好的转换接口,方便程序员使用。包括从主机字节序到网络字节序的转换函数: htons、htonl;从网络字节序到主机字节序的转换函数:ntohs、ntohl。

h - host 主机,主机字节序

to - 转换成什么

n - network 网络字节序

s - short unsigned short

l - long unsigned int

总结一下,在网络传输中,通常使用大端字节序 (网络字节序)。在具体的操作系统中字节序取决于底层硬件架构。例如,Linux 和 Windows 操作系统主要运行在 x86 和 x86_64 (Intel 和 AMD 处理器) 架构上,这些处理器使用小端字节序。而其他硬件平台,如 PowerPC 和 SPARC 等,可能使用大端字节序。

48. m ain 函数执行前发生了什么?

main 函数执行之前,主要就是初始化系统相关资源:

  1. 设置栈指针。

  2. 初始化 static 静态和 global 全局变量,即 data 段的内容。

  3. 将未初始化部分的赋初值:数值型 short,int,long 等为 0,bool 为 FALSE,指针为 NULL,等等,即 .bss 段的内容。

  4. 运行全局构造器,估计是 C++ 中构造函数之类的吧。

  5. 将 main 函数的参数,argc,argv 等传递给 main 函数,然后才真正运行 main 函数 。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 质量对中国开发商提升游戏品牌信誉和信任度的影响
  • Java设计模式之中介者模式
  • 【SpringBoot】SpringBoot框架的整体环境搭建和使用(整合Mybatis,Druid,Junit4,PageHelper,logback等)
  • Android 13 移植EthernetSettings/Ethernet更新
  • Java设计模式之策略模式实践
  • MATLAB R2023b配置Fortran编译器
  • java基础进阶——log日志、类加载器、XML、单元测试、注解、枚举类
  • 使用openlayers给地图添加内发光、外发光、内外阴影、三维立体效果
  • 可乐机的设计验证
  • 125. 验证回文串【 力扣(LeetCode) 】
  • 设计模式 - 状态模式
  • 详解使用Goalng+Redis实现分布式锁
  • haralyzer 半自动,一次性少量数据采集快捷方法
  • C++系列-继承中的对象模型
  • Spring Boot 使用 MongoDB 教程
  • “大数据应用场景”之隔壁老王(连载四)
  • CSS居中完全指南——构建CSS居中决策树
  • es的写入过程
  • js写一个简单的选项卡
  • Lucene解析 - 基本概念
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Python学习之路13-记分
  • SQLServer之索引简介
  • vue:响应原理
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 不上全站https的网站你们就等着被恶心死吧
  • 设计模式(12)迭代器模式(讲解+应用)
  • 手写双向链表LinkedList的几个常用功能
  • 温故知新之javascript面向对象
  • 异常机制详解
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • const的用法,特别是用在函数前面与后面的区别
  • hi-nginx-1.3.4编译安装
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 进程与线程(三)——进程/线程间通信
  • ​LeetCode解法汇总518. 零钱兑换 II
  • # .NET Framework中使用命名管道进行进程间通信
  • #QT(QCharts绘制曲线)
  • #Ubuntu(修改root信息)
  • (Python第六天)文件处理
  • (八)c52学习之旅-中断实验
  • (备份) esp32 GPIO
  • (每日一问)基础知识:堆与栈的区别
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (转)大型网站的系统架构
  • ./configure,make,make install的作用
  • .bashrc在哪里,alias妙用
  • .gitignore文件忽略的内容不生效问题解决
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET 使用 XPath 来读写 XML 文件
  • .NET面试题(二)
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作