0

次のコードが含まれているサイトを見ていて、それに続く質問は、期待される出力は何ですか?

#include<stdio.h>
main()
{
    char *foo = "Arista Netowrks";
    char *bar = "Arista Netowrks";
    printf("%d %d\n",foo,bar);
}

与えられた答えは、両方の住所が同じになるというものでした。文字列は読み取り専用であるため、読み取り専用メモリではグローバル定数として動作します。私はCに長けていますが、これは完全に不意を突かれました。誰かが上記の答えを詳しく説明できれば、私は完全に義務付けられます。アドレスが出力されることと、読み取り専用メモリであることを理解しています。しかし、関数内で宣言された場合、グローバル定数としてどのように機能し、両方の変数がどのようにそれを指すのでしょうか?

ソース: GeeksforGeeks.org

4

0 に答える 0