4
int *x = 3;
int *y = 3;

if (x == y) "this statement evaluates to true" (pointer equality statement)
if (*x == *y) "this statement evaluates to true"

COMPILERが2つの「静的な」数字「3」を見て、これを同じ場所に向けると言ったからといって、ポインターの等価ステートメントが真になる理由は何ですか? または、整数全般に魔法がありますか。

整数ポインタを逆参照することは (この場合) 逆参照しないことと同じであることは明らかに冗長に思えます。

文字列に関連するこの問題の例をいくつか見てきました ( Addresses of two pointers are same ) が、もっと明確にしたかったのです。

4

3 に答える 3