Bolehkah Permulaan Pembolehubah Global dalam C Mengabaikan Ketergantungan?

Patricia Arquette
Lepaskan: 2024-10-28 06:48:02
asal
354 orang telah melayarinya

Can Global Variable Initialization in C   Ignore Dependencies?

Tertib Permulaan Global dalam C : Mengabaikan Ketergantungan

Masalah:

Dalam coretan kod dengan syarat, susunan permulaan pembolehubah global nampaknya mengabaikan kebergantungan. Khususnya, kaedah pembina struct sedang dipanggil sebelum tika struct diisytiharkan.

Jawapan:

1. Susunan Permulaan Globals:

  • Pembolehubah global dalam unit terjemahan tunggal (fail sumber) dimulakan mengikut tertib ia ditakrifkan.
  • Walau bagaimanapun, tertib permulaan pembolehubah global dalam unit terjemahan yang berbeza tidak ditentukan.

2. Ketidaktahuan Ketergantungan dalam Permulaan:

Ya, susunan pemulaan global mengabaikan kebergantungan. Ini bermakna pembolehubah global boleh dimulakan sebelum pembolehubah global lain yang bergantung padanya.

3. Memastikan Perintah Permulaan yang Betul:

Untuk memastikan bahawa pembina Foo dipanggil sebelum memulakan dummy, langkah berikut boleh diambil:

  • Tentukan globalFoo sebelum dummy dalam yang sama unit terjemahan.
  • Gunakan penuding statik ke tika global. Penunjuk akan dimulakan kepada null sebelum sebarang permulaan dinamik berlaku.
  • Dalam addToGlobal, semak sama ada penuding adalah nol. Jika ya, maka addToGlobal mencipta tika Foo global.

Atas ialah kandungan terperinci Bolehkah Permulaan Pembolehubah Global dalam C Mengabaikan Ketergantungan?. 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!