- exit(整型值表达式)
若表达式为0,首先释放存储空间,再关闭打开的文件等,正常退出
否则非正常退出#include
using namespace std; int main() { int a; cin >> a; cout << 3 << endl; exit(a); cout << 5 << endl; cout << 6 << endl; return 0; } 非正常退出:
正常退出: -
abort()函数是个无参数函数,括号内不能有任何参数,系统直接终止程序的执行
#include
using namespace std; int main() { cout << 3 << endl; abort(); cout << 5 << endl; cout << 6 << endl; return 0; } - 指向函数的指针:指针变量指向函数内存空间入口地址(函数的首地址),使指针变量指向函数所在的内存区域,然后通过指针变量可以找到并调用该函数
定义: 函数类型(*指针变量名)(形参列表)
指向函数的方法: 指针变量名=函数名
指针调用函数的方法: 指针变量名(实参列表) / (*指针变量名)(实参列表)
#include
using namespace std; int f1(int x, int y) { return x * y; } int f2(int x, int y) { return x / y; } int f3(int x, int y) { return x % y; } int main() { int x, y; char q; cin >> x >> q >> y; //定义指针函数 int(*fp)(int, int); switch (q) { //像p=f1就是指针变量p指向f1 case'*':fp = f1; break; case'/':fp = f2; break; case'%':fp = f3; break; default:cout << "输入不存在运算符" << endl; } cout << x << q << y << "=" << fp(x, y) << endl; return 0; } 就很奇怪,报错原因是指针变量没有赋予初始值,不过指针函数怎么会赋予初始值呢,我纠结了很久,没有想明白,那就先放在这里,明天继续吧
今天是10.3,我问了一些人确实指针函数的指针变量不需要初始化,昨天vs引发的报错,我找到的解决方案是项目属性->配置属性->C/C++->SDL检查,选择否,然后就运行成功了
- nullptr和NULL
C和C++中的NULL不等价
C中NULL定义为void*指针值0或整常数0
NULL表示指针不指向任何对象,NULL不是关键字,是一个宏定义
C++中,NULL被明确定义为整常数0
最近几天还没有刷题,感觉力扣的题还是有些难度啊,那可得好好思考一番了,不过最近几天有点忙,希望自己能够坚持下来,每天的好习惯!



