当前位置: 首页 > 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. main 函数执行前发生了什么?

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

  1. 设置栈指针。

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

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

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

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

http://www.lryc.cn/news/424952.html

相关文章:

  • 端到端测试自动化:使用JavaScript打造可靠的Web应用
  • 『大模型笔记』基于LLM生成真实世界数据的合成问答数据!
  • 一个使用Python和`scikit-learn`库实现KMeans聚类算法的简单示例
  • 记录一下vue2和vue3中如何配置keep-alive及写法上的差异
  • 面试题:Rabbitmq怎么保证消息的可靠性?
  • 性能测试工具之JMeter
  • SQL Zoo 9-.Window functions
  • 智能化清理C盘的方法 小白也可以轻松清理C盘了 不再担心误删文件
  • 在c#中常用的特性
  • Polars简明基础教程十二:可视化(二)
  • python 使用正则表达式判断图片路径是否是超链接
  • 【学习笔记】Day 14
  • 使用SSL认证访问操作手册
  • 网络协议 十一 ARP,RARP,icmp,websocket,webservice,HTTPDNS,FTP,邮件相关的协议, SMTP,POP,IMAP
  • 浏览器插件利器--allWebPluginV2.0.0.16-Stable版发布
  • 设计模式22-迭代器模式
  • 编程深水区之并发⑥:C#的线程池
  • KCTF 闯关游戏:1 ~ 7 关
  • 【海贼王航海日志:前端技术探索】一篇文章带你走进JavaScript(二)
  • 鸿蒙内核源码分析(进程管理篇) | 谁在管理内核资源?
  • SQLALchemy 自动从数据库中映射
  • C++ stack与queue的使用与简单实现
  • 【CS.DB】数据库-关系型数据库-MySQL-3.3.创建和管理表
  • Ceph分布式存储系统的搭建与使用
  • 通过Redsocks将Kali Linux的流量进行代理
  • 基于java五台山景点购票系统(源码+论文+部署讲解等)
  • 基于springboot的网上服装商城
  • QT、C++简单界面设计
  • 代码随想录算法训练营43期 | Day 10——栈与队列part1
  • Java中常用的设计模式