Mengapa Kurungan Menyusun Tanpa Ralat dalam Pengisytiharan Pembolehubah dalam C ?

Patricia Arquette
Lepaskan: 2024-11-01 02:02:28
asal
626 orang telah melayarinya

Why Do Parentheses Compile Without Errors in Variable Declarations in C  ?

Pengisytiharan Pembolehubah dalam Tanda kurung dalam C

Kod berikut menimbulkan persoalan yang menarik:

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

Mengapa pengisytiharan s dalam kurungan disusun tanpa ralat?

Penjelasan

Menurut [dcl.maksud] dalam piawai C:

"Dalam a pengisytiharan T D di mana D mempunyai bentuk ( D1 ), jenis id pengisytiharan yang terkandung adalah sama seperti id pengisytiharan yang terkandung dalam perisytiharan T D1."

Diringkaskan, kurungan tidak mengubah jenis pengecam yang diisytiharkan tetapi boleh menjejaskan pengikatan pengisytihar kompleks.

Contoh

Dalam kod yang disediakan, s ialah pengisytihar. Oleh itu, kurungan boleh digunakan tanpa mengubah suai maksudnya:

<code class="cpp">int(s) // Equivalent to int s</code>
Salin selepas log masuk

Contoh Lanjutan

Kurungan terbukti amat berguna dalam senario yang lebih kompleks:

<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>
Salin selepas log masuk

Perbezaan ini penting untuk memastikan peruntukan memori dan rujukan yang betul.

Atas ialah kandungan terperinci Mengapa Kurungan Menyusun Tanpa Ralat dalam Pengisytiharan Pembolehubah dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!