使用vs2010時,遇到如下錯誤
然后點擊繼續后:
點擊終止:
觀察變量:
根據提示發現,有可能是斷點問題,於是猜想可能是指針的錯誤。
google發現,這種錯誤可能是由於指針的釋放跨越了模塊。比如我的程序中代碼如下:
int *aa; aa= (int *)calloc(2* n, sizeof(int)); free(aa);
這個是正常的步驟。
但是我失敗的例子是這樣的:
int aa[10]={0}; free(aa);
就會造成指針的越級釋放,從而引發斷電。
也就是說,釋放指針遵循:誰申請誰釋放。在int aa[10]={0};並沒有申請指針,雖然可以通過aa當做指針來使用,但是沒有申請的操作,釋放也自然回引起無效指針釋放,從而引發斷電。
如有異議,還請留言聯系,共同進步。