c++和c语言的区别

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、堆是存放在二级缓存中,生命周期虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。
  三、堆栈数据结构区别:
  堆(数据结构):堆可以被看成是一棵树,如:堆排序;
  栈(数据结构):一种先进后出的数据结构。

猜你喜欢

转载自blog.csdn.net/zys15195875600/article/details/81134059