7月18日上课笔记:
c++和c语言的区别:
c++:
程序中iostream为c++头文件;c++中必须要有返回值,哪怕是void(函数类型就是返回值类型)
三目运算符(条件运算符)可以作为左值,因为它的返回值类型为变量而非表达式的值;
cout << a << endl;为打印出a的值;
const和define的区别:作用域不一样。const定义局部变量,函数内部有效;define为宏,代码从这一行往下均有效
const有就近原则 int *const p;//该为常指针
默认参数:
参数指定了的为默认参数,且形参中一旦出现默认参数,后面的参数都必须为默认参数
占位参数:
用来占位的实际不参与函数计算
int add(int x, int y, int ,int)
函数重载:
跟java类似
笔试 第一天:
在C语言中,关键字static有三个明显的作用:
•; 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
•; 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
•; 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
堆和栈的区别:
一、堆栈空间分配区别:
1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;
2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
二、堆栈缓存方式区别:
1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放;
2、堆是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。
三、堆栈数据结构区别:
堆(数据结构):堆可以被看成是一棵树,如:堆排序;
栈(数据结构):一种先进后出的数据结构。