Bila dan Mengapa Tanda Kurung Digunakan dalam Pengisytiharan Pembolehubah C?

Mary-Kate Olsen
Lepaskan: 2024-10-31 23:55:29
asal
744 orang telah melayarinya

When and Why Are Parentheses Used in C   Variable Declarations?

Kurungan dalam Perisytiharan Pembolehubah dalam C

Satu pemerhatian pelik telah timbul dalam pengaturcaraan C: keupayaan untuk menyertakan perisytiharan pembolehubah dalam kurungan. Aspek ini telah menghasilkan tipu muslihat, mencetuskan persoalan tentang fungsinya.

Pertimbangkan coretan kod:

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

Anehnya, kod ini mencipta pembolehubah yang sah bernama s, mendorong penyiasatan lanjut ke dalam mekanisme asas .

Menurut [dcl.maksud] dalam Piawaian C:

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

Pernyataan ini menunjukkan bahawa kurungan tidak mengubah jenis id pengisytiharan terbenam (dalam kes ini, s). Walau bagaimanapun, ia boleh memberi kesan kepada pengikatan pengisytihar yang kompleks.

Secara ringkasnya, kurungan boleh merangkumi mana-mana pengisytihar dalam tatabahasa C. Contohnya, dalam kod yang diberikan, s ialah pengisytihar, dan kurungan tidak mengubah suai maknanya.

Kebergunaan kurungan menjadi jelas apabila berhadapan dengan senario yang lebih rumit. Pertimbangkan contoh ini:

<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

Dalam kes ini, kurungan membolehkan perbezaan antara dua jenis penunjuk dengan berkesan. Tanpa mereka, tafsiran pengisytiharan ini akan menjadi tidak jelas.

Atas ialah kandungan terperinci Bila dan Mengapa Tanda Kurung Digunakan dalam Pengisytiharan Pembolehubah 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