面试题 1:变量的声明和定义有什么区别

为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,

但是只在一个地方定义。加入 extern 修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分

定义。

说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,

如外部变量。

面试题 2:写出 bool 、int、 float、指针变量与“零值”比较的 if 语句

bool 型数据:

if( flag )

{

A;

}

else

{

B;

}

int 型数据:

if( 0 != flag )

{

A;

}

else

{

B;

}

指针型数:

if( NULL == flag )

{

A;

}

else

{

B;

}

float 型数据:

if ( ( flag >= NORM ) && ( flag <= NORM ) )

{

A;2

}

注意:应特别注意在 int、指针型变量和“零值”比较的时候,把“零值”放在左边,这样当把“==”

误写成“=”时,编译器可以报错,否则这种逻辑错误不容易发现,并且可能导致很严重的后果。

面试题 3:sizeof 和 strlen 的区别

sizeof 和 strlen 有以下区别:

 sizeof 是一个操作符,strlen 是库函数。

 sizeof 的参数可以是数据的类型,也可以是变量,而 strlen 只能以结尾为‘0‘的字符串作参数。

 编译器在编译时就计算出了 sizeof 的结果。而 strlen 函数必须在运行时才能计算出来。并且 sizeof

计算的是数据类型占内存的大小,而 strlen 计算的是字符串实际的长度。

 数组做 sizeof 的参数不退化,传递给 strlen 就退化为指针了。

注意:有些是操作符看起来像是函数,而有些函数名看起来又像操作符,这类容易混淆的名称一定

要加以区分,否则遇到数组名这类特殊数据类型作参数时就很容易出错。最容易混淆为函数的操作符就

是 sizeof。

面试题 4:C 语言的关键字 static 和 C++ 的关键字 static 有什么区别

在 C 中 static 用来修饰局部静态变量和外部静态变量、函数。而 C++中除了上述功能外,还用来定

义类的成员变量和函数。即静态成员和静态成员函数。

注意:编程时 static 的记忆性,和全局性的特点可以让在不同时期调用的函数进行通信,传递信息,

而 C++的静态成员则可以在多个对象实例间进行通信,传递信息。

面试题 5:C中的 malloc 和C++中的 new 有什么区别

malloc 和 new 有以下不同:

(1)new、delete 是操作符,可以重载,只能在 C++中使用。

(2)malloc、free 是函数,可以覆盖,C、C++中都可以使用。

(3)new 可以调用对象的构造函数,对应的 delete 调用相应的析构函数。

(4)malloc 仅仅分配内存,free 仅仅回收内存,并不执行构造和析构函数

(5)new、delete 返回的是某种数据类型指针,malloc、free 返回的是 void 指针。

注意:malloc 申请的内存空间要用 free 释放,而 new 申请的内存空间要用 delete 释放,不要混用。

因为两者实现的机理不同

new float查询长度 c++_C/C++经典面试题相关推荐

  1. c++ 窗体上输出文字_C/C++经典面试题

    面试题 6:写一个"标准"宏 MIN #define min(a,b)((a)<=(b)?(a):(b)) 注意:在调用时一定要注意这个宏定义的副作用,如下调用: ((++* ...

  2. 2023年软件测试经典面试题(全三篇)【包含答案】做完面试进入大厂不是梦

    文章目录 前言 软件测试经典面试题(一)共25题 软件测试经典面试题(二)共16题 软件测试经典面试题(三)共16题 一.软件测试基础 二.Linux 三.Python 四.MySQL 五.Web 六 ...

  3. c语言两种排序方法的组合,排列和组合算法的实现方法_C语言经典案例

    排列和组合算法是考查递归的常见算法,这两种算法能用递归简洁地实现. 本人在经过多次摸索和思考之后,总结如下,以供参考. 程序代码如下: #include #include char array[] = ...

  4. c语言排列组合的函数,c语言排列组合算法 排列和组合算法的实现方法_C语言经典案例...

    想了解排列和组合算法的实现方法_C语言经典案例的相关内容吗,在本文为您仔细讲解c语言排列组合算法的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:c语言排列组合算法,下面大家一起来学习吧. ...

  5. java面试题_阿里大厂流出的数百道 Java 经典面试题

    BAT 常问的 Java基础39道常见面试题 1.八种基本数据类型的大小,以及他们的封装类 2.引用数据类型 3.Switch能否用string做参数 4.equals与==的区别 5.自动装箱,常量 ...

  6. java 1.8有没有jshell_收藏了800道Java后端经典面试题,分享给大家,希望你找到自己理想的Offer呀~...

    前言 在茫茫的互联网海洋中寻寻觅觅,我收藏了800+道Java经典面试题,分享给你们.建议大家收藏起来,在茶余饭后拿出来读一读,以备未雨绸缪之需.另外,面试题答案的话,我打算后面慢慢完善在github ...

  7. 收藏了800道Java后端经典面试题,共享给大家

    在茫茫的互联网海洋中寻寻觅觅,我收藏了800+道Java经典面试题,共享给你们.建议大家收藏起来,在茶余饭后拿出来读一读,以备未雨绸缪之需.另外,面试题答案的话,我打算后面慢慢完善在github, 希 ...

  8. 各大厂800道Java后端经典面试题合集

    前言 在茫茫的互联网海洋中寻寻觅觅,我收藏了800+道Java经典面试题,分享给你们.建议大家收藏起来,在茶余饭后拿出来读一读,以备未雨绸缪之需.另外,面试题答案的话,可以私信我, 希望大家都能找到自 ...

  9. 收藏了800道Java后端经典面试题,分享给大家,希望你找到自己理想的Offer呀~

    在茫茫的互联网海洋中寻寻觅觅,我收藏了800+道Java经典面试题,分享给你们.建议大家收藏起来,在茶余饭后拿出来读一读,以备未雨绸缪之需.另外,面试题答案的话,我打算后面慢慢完善在github, 希 ...

最新文章

  1. Android小项目之---选择对话框(附源码)
  2. ASP.NET Web API Model-ModelBinder
  3. 1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
  4. 从Turbo C到Borland C++
  5. 对于jQuery的初步印象
  6. Python 大规模异步新闻爬虫、google翻译、百度翻译、有道翻译、百度指数
  7. 【趣闻轶事】中奖252次?看“数学侦探”识破彩票猫腻
  8. 第五章 shell学习之文件的排序、合并和分割
  9. oracle密码安全策略,提升Oracle用户密码安全性的策略
  10. 标准Io编程学习笔记
  11. myline java线段类,MyLine 编写一个线段类 MyLine 联合开发网 - pudn.com
  12. 2022中兴捧月算法挑战赛(RAW图像去噪)——初赛到决赛总结与反思
  13. 2021-11-25【数据结构/严蔚敏】【Dijkstra】【代码实现算法7.15】
  14. amp;#9733;色盲悖论正解!
  15. robotframework报错
  16. 特色棒球夏令营·棒球1号位
  17. 【XSY2733】Disembrangle DP
  18. ubuntu网站及数据库自动备份
  19. libevent的使用流程
  20. 发布即巅峰:Java性能调优六大工具:MAT内存分析工具

热门文章

  1. acer软件保护卡清除工具clear_如何清除 APT 缓存来回收宝贵的磁盘空间 | Linux 中国...
  2. python concurrent queue_Python的并发并行[2] - 队列[0] - queue 模块
  3. Android studio 按钮排版,Android Studio自动排版的两种方法
  4. Spring整合Redis详解
  5. JDBC连接sql server数据库
  6. C语言数据类型转换详解
  7. 深度linux安装好上不了网,Deepin Linux 无法上网
  8. unicode解码php,PHP解码unicode编码的中文字符
  9. labview实例_手把手以实例教你学LabVIEW编程,条件结构编程方法
  10. Python读写json文件的简单实现