首頁  >  文章  >  後端開發  >  為什麼 C 變數宣告中的括號不會改變型別?

為什麼 C 變數宣告中的括號不會改變型別?

Barbara Streisand
Barbara Streisand原創
2024-11-01 02:09:02479瀏覽

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

C 變數宣告中的括號

考慮以下程式碼:

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

變數周圍變數的使用宣告變數;可能會出乎意料,因為它創建了一個名為s 的有效變數。此行為源自於 C 標準的特定部分,稱為“聲明符規則的含義”,可在 [dcl.meaning] 中找到。

根據此規則,當括號括起宣告時,變數的類型所宣告的內容保持不變。在您的範例中, 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn