1. 程式人生 > >NULL指針區域(NULL定義為0-65535之間的任何數都可以)

NULL指針區域(NULL定義為0-65535之間的任何數都可以)

detail 使用 malloc 產生 機制 利用 訪問 fff lin

NULL指針區域
0x00000000-0x0000FFFF:65535字節 這個區域的作用是用來幫助程序員發現內存分配失敗後未檢查就使用的錯誤。
比如使用malloc分配內存失敗,返回NULL,而又未做檢查直接使用,如例子:就會產生內存非法訪問的錯誤,提示程序員
int *piNum = (int*)malloc(sizeof(int));
int *piNpm = 5;

以前一直不理解NULL的意思,一直以為就是個0,現在來看,這個空指針是有他的道理的,是利用了windows的內存管理機制做的一個內存使用的檢測手段。
現在看NULL定義為0-65535之間的任何數都可以達到,檢測指針區域的效果。

http://blog.csdn.net/mysouling/article/details/8676198

NULL指針區域(NULL定義為0-65535之間的任何數都可以)