2011-05-04 81 views
1

比方說,我已經得到了:這些C指針操作會導致問題嗎?

char *p = NULL; 

我敢肯定,這人會是一個問題,我會提領一NULL指針:

*p = 16; 

在另一方面,我覺得這個人會是OK的,我會得到這不是NULL本身* p的地址:

char **pp = &p; 

我說得對不對在這兩種情況下?

+0

's/p的地址哪個/哪個p的地址/ – Amarghosh 2011-05-04 12:07:10

回答

5

是的,你是。雖然p的值是NULL,但它仍然有一個有效的地址,所以你可以傳遞它的引用。

4

是的,你在兩種情況下都是正確的。

1

你在兩種情況下都是正確的。只是添加一個簡單的說明。雖然你分配

char **pp = &p; 

你仍然不能訪問** pp,因爲它仍然有NULL。但你可以安全地訪問* pp。