2016-09-23 71 views
1
#include<stdio.h> 
int main() { 
    int *p=NULL; 
    if (p == NULL) { 
     printf("%x",*p); 
    } 
    return 0; 
} 

如果我可以,怎麼樣? 如果我不能,它有什麼價值?我可以看到指向NULL指針的值嗎?

+3

主要取決於你的平臺.... – LPs

+0

它會有你的平臺上無論是什麼值的價值。空值應該被視爲「未定義」/「未知」,因此你想要做的事情沒有什麼意義。 –

+0

一個微控制器或一些其他簡單的微處理器,你可能能夠讀取該值。 –

回答

2

不,一般不能取消引用NULL指針,這會給出未定義的行爲。

這很重要,所以這個想法有點奇怪。請注意,這並不意味着您的代碼不會在任何平臺上運行或產生結果,但它仍然違反語言規範,因此在某些特定實現上運行它的結果並不重要。

相關問題