C言語で%rは何を意味しますか

下次还敢
下次还敢オリジナル
2024-05-02 18:21:15680ブラウズ

C 言語では、%r 変換指定子は次の目的で使用されます。 フォーマットされた出力: ポインター変数のアドレスを出力し、結果は通常 16 進形式で表示されます。フォーマットされた入力: 入力アドレスを読み取り、ポインター変数に保存します。 C 言語の

C言語で%rは何を意味しますか

%r は、フォーマットされた出力の変換指定子です。

%r は、C 言語のフォーマットされた出力ですprintf() 関数と scanf() 関数で一般的に使用される入力変換指定子。ポインタの値を出力または読み取るために使用されます。

フォーマットされた出力 (printf() 関数):

  • 使用法: printf("%r", &variable);
  • 効果: 変数のアドレスを出力します。

フォーマットされた入力 (scanf() 関数):

  • 使用法: scanf("%r", &variable ) ;
  • 効果:入力からアドレスを読み取り、変数に格納します。

注:

  • %r 変換指定子は、ポインター変数にのみ適用されます。
  • ポインタ変数を出力する場合、出力結果はコンパイラやプラットフォームによって異なります。通常、アドレスは 16 進数形式で表示されます。
  • ポインタ変数を読み取る場合、入力は有効なメモリ アドレスである必要があります。そうしないと、読み取り操作が失敗します。

例:

<code class="c">int main() {
    int *ptr = malloc(sizeof(int));
    *ptr = 10;

    printf("Pointer value: %r\n", ptr);  // 输出指针地址
    scanf("%r", &ptr);  // 从输入中读取指针地址

    printf("Dereferenced pointer value: %d\n", *ptr);  // 输出通过指针访问的值

    return 0;
}</code>

以上がC言語で%rは何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。