C语言malloc动态分配内存分配失败怎么办?exit(OVERFLOW);(include <cstdlib>)
如:(見《大話數據結構》147頁)
QueuePtr s = (QueuePtr)malloc(sizeof(QNode)); if(!s){exit(OVERFLOW); }exit為C++的退出函數,聲明于stdlib.h中,對于C++其標準的頭文件為cstdlib,聲明為
void exit(int value);
exit的功能為,退出當前運行的程序,并將參數value返回給主調進程。
在main中return v;的效果 與exit(v);相同。
OVERFLOW為math.h中的一個宏定義,其值為3。含義為運算過程中出現了上溢,即運算結果超出了運算變量所能存儲的范圍。
所以,exit(OVERFLOW)的含義就是,退出程序,并返回OVERFLOW的值給主調進程。其標準的使用范圍為,當程序運算出現上溢時,退出程序并報錯給主調進程。
參考文章:exit(OVERFLOW); 在C++中是什么意思?
另外:如果if語句后只有一條語句,則可以省略大括號
加上大括號相當于一個語句塊,if條件只影響其后面的第一個語句或語句塊,加括號的話,則執行括號中的全部語句(也就是在if條件成立的情況下,則全部執行,如果if條件不成立,則整個括號中的語句都不執行);而不加括號的話,則影響其后的第一條語句,也就是說不管if條件成不成立,第一句以后的都不會有任何影響。if 語句后有大括號, 則大括號里面所有的語句都會在if表達式為真時執行;如果沒大括號,則if表達式為真時只會執行第一條語句.
參考文章:C語言,一個小問題,為什么在if后面一直都沒有花括號?
注意調用庫時后面別加.h,否則提示找不到
參考文章:急!!!C++中調用不了<cstdlib.h>庫中的數學函數!!!
總結
以上是生活随笔為你收集整理的C语言malloc动态分配内存分配失败怎么办?exit(OVERFLOW);(include <cstdlib>)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言 泛型链表的实现
- 下一篇: C语言数据结构(大话数据结构——笔记2)