如果一個地方指針既不為空,也沒有被設置為指向一個已知的對象,則這樣的指針稱為懸掛指針。在程式裏面是很危險的事

 

,代碼如下:

 

#include "stdafx.h"
#include "iostream"

 

using namespace std;
//typedef string t;

 

void f(int *p);
int main()
{
//int a = 10;
int *i;
//i = &a;
f(i);
cout<<*i;
return 0;
}
void f(int *p){
cout<<p;
if(p!=0)
*p = 100;
}

 

當控制函數執行到f()中時候,f()不能判斷指針的合法性,將會產生很嚴重的錯誤。(但是編譯通過)




最好的解決方法是指針聲明時候,同時賦予其指向一個對象 即去掉注釋部分

 

From:HTTP://blog.csdn.net/lihan6415151528/article/details/4599612
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()