ホームページ >バックエンド開発 >C++ >C の変数宣言のかっこで型が変更されないのはなぜですか?

C の変数宣言のかっこで型が変更されないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-01 02:09:02542ブラウズ

Why Do Parentheses in C   Variable Declarations Not Change the Type?

C 変数宣言のかっこ

次のコードを考えてみましょう。

<code class="cpp">int main() {
    int(s);
}</code>

変数を囲むかっこの使用宣言 int(s); s という名前の有効な変数が作成されるため、予期しないものになる可能性があります。この動作は、[dcl.meaning] にある「宣言子の意味ルール」として知られる C 標準の特定の部分に由来しています。

このルールによれば、かっこで宣言が囲まれている場合、変数の型は宣言されていることは変わりません。あなたの例では、 s は宣言子であり、括弧内に配置してもその型や意味は変わりません。

この機能により、より複雑な宣言を構築できます。たとえば、ポインタの配列と配列へのポインタを区別できます:

<code class="cpp">int * a [10];     // a is an array of ten pointers to int.
int ( * b ) [10]; // b is a pointer to an array of ten ints.</code>

以上がC の変数宣言のかっこで型が変更されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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