スピーカー:のは、そのプログラムを書いてみましょう 二つの文字列の入力をユーザーに要求し、 その後、これらの文字列かどうかを報告する 同じ同じであるか。 私はすでにでここに私たちをオフに開始しました 二度のprintfを呼び出すと呼び出し リターンを保存する、二度のgetString sとtの値であった。 今、私の本能は、これらの2を比較する 文字列は、おなじみのを使用することです 等価演算子 - Sが等しい場合はTに等しい。 その後、私は先に、プリントに行くつもりです あなたが同じことを入力した「OUT! それは本当ではない場合にはそうでない、私は単純だ printfのを入力しようとして( "あなたはタイプさ さまざまなこと! かなり簡単 - 私は単純に比較Sを比較しています T、およびそれらが等しいしている場合は、 できるだけ多くをプリントアウト。 のは、このプログラムをコンパイルして実行してみましょう。 0を比較してください。/コンペア 0、こんにちは、何かを言う、 こんにちは、何かを言う。 残念ながら、このプログラムは、私がきたと考えている 私はあっても、異なるものを入力した 明確に「こんにちは」と入力 同じように両方の時間。 今、なぜそれがあるかもしれない? まあ、それは結局のところ、このすべて 時間は、文字列はもう少しだった 文字の列よりも複雑 フードの下に。 実際には、文字列はポインターであるか 住所、特にアドレス その中の最初の文字の 文字のシーケンス。 だから我々はTに対してSを比較する 同等の等号では、我々だ 実際に求め、このアドレスである このアドレスに等しい等しい? そして、それはそうではないだろうかの ユーザは、異なる2で入力した 文字列は、私たちは二度GetStringメソッドを呼んでいる メモリので、それらを得るために GetStringメソッドは、最初に格納するために使用すること 文字列は、RAMにここにいるかもしれませんが、 GetStringメソッドを格納するために使用されるメモリー 2番目の文字列は、起こっている ここに、RAMにあると。 そしてもちろん、それから、これらの2つのチャンクの メモリはのための別のアドレスを持っている 彼らの非常に最初の文字が。 そう等しいSは、Tに等しい? さて、NO。 sおよびtは別のを指している場合 彼らがすることによるように、メモリの塊、 二度のGetStringを呼び出し、そうではないなら、 実際には、同じになるだろう。 だから、とした場合のようです 直感的に2つの文字列を比較 我々が期待する方法、の文字 文字、我々は別の技術を必要とする 完全に。