私はCアレイをいじりしたときに、この奇妙な結果につまずい:倒錯変態は
char s[100] = "hello";
if(s == &s[0]) printf("true. ");
if(s == &s) printf("true.");
// output: true. true.
私はs
は最初の要素のメモリ位置を保持していることを知っているが、検索する方法がありますs
のアドレス(最初の要素を指すポインタのアドレス)?なぜ&s
はs
と同じですか?これは便利ではありませんが、何が起こっているのかを知りたいのですが。
異なるコンパイラで異なる実装をしているのかどうかは分かりませんが、gccを使用しています。
私の指が同じ場所を指しています。ありがとう! –
素敵な類推、私はそれを覚えておく必要があります。 –