
程序员面试宝典
文章平均质量分 72
SHERO_M
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++之getch(),getche(),getchar()的区别
getchar() 函数名:getchar() 头文件:stdio.h 功 能:从I/O流中读字符 原 型:int getchar(void);getch() 函数名:getch() 头文件:conio.h 功 能:从控制台读取一个字符,但不显示在屏幕上 原 型:int getch(void) 返回值:读取的字符getche() 函数名:getche() ...原创 2018-06-02 17:53:30 · 7717 阅读 · 0 评论 -
堆栈区别
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态 存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉, 那么在程序结束后,操作系统...原创 2018-06-20 18:05:32 · 237 阅读 · 0 评论 -
static
static用来控制变量的存储方式和可见性 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此函...原创 2018-06-20 18:38:16 · 268 阅读 · 0 评论 -
printf
2、在处理printf时,压栈顺序为从右往左,也就是说从右往左的计算(“计算”不等于“输出”)。在计算时,遇到x++会记录此时的x的值作为最后的输出结果。遇到x和++x的时候则不会将此时的计算结果作为最终的输出,只会修改x的值,在最终输出的时候都输出x的值(所以++x和x的结果总是一样的)。 为什么会是这个样子呢?参见某高手解释吧:对于a++的结果,是有ebp寻址函数栈空间来记录中间结果...原创 2018-05-31 20:50:25 · 344 阅读 · 0 评论 -
前置递增和后置递增
前置递增(递减)和后置(递减)递增操作符对任何值都适用,也就是它们不仅适用于整数,还可以用于字符串、布尔值、浮点数值和对象。在应用于不同的值时,递增和递减操作符遵循下列规则。在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1 的操作。字 符串变量变成数值变量。在应用于一个不包含有效数字字符的字符串时,将变量的值设置为NaN。 字符串变量变成数值变量。在应用于布尔值false ...原创 2018-05-31 17:35:33 · 717 阅读 · 0 评论 -
(int&)a和(int)&a
{ float b=0.0;float a=1.0;cout<<(int&)b<<endl;cout<<(int)&b<<endl;cout<<(int&)a<<endl;cout<<(int)&a<<endl;}输出结果是原创 2018-05-31 21:35:46 · 1237 阅读 · 0 评论 -
枚举类型
C/C++语言可以使用#define和const创建符号常量,而使用enum工具不仅能够创建符号常量,还能定义新的数据类型步骤(一)——枚举量的声明和定义(1)enum enumType {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};这句话有两个作用:第一:声明enumType为新的数据类型,称为枚举(enumer...原创 2018-06-01 21:40:50 · 467 阅读 · 0 评论 -
C++:class
C++中使用关键字 class 来定义类, 其基本形式如下:class 类名{public://行为或属性 protected://行为或属性private://行为或属性};示例: 定义一个点(Point)类, 具有以下属性和方法: ■ 属性: x坐标, y坐标 ■ 方法: 1.设置x,y的坐标值; 2.输出坐标的信息。实现代码:class Point{...原创 2018-06-09 18:58:12 · 473 阅读 · 0 评论 -
栈、堆
1.栈的地址是由高向低增长的.2.堆得地址增长方向是由低到高向上增长的(堆栈向下增长是指:如果第一个堆栈数据保存在地址 0x60,则下一个堆栈数据将保存到地址 0x5f相反,如果堆栈向上,则第二个数据将保存到地址 0x61 )堆(heap)和栈(stack)有什么区别??heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。stack:是自动分配变量,以及函数调用的时候所使用的...原创 2018-06-20 11:17:36 · 930 阅读 · 0 评论