Rumah Kewangan Peribadi Pembolehubah Global dalam Pengaturcaraan C - dummies

Pembolehubah Global dalam Pengaturcaraan C - dummies

Isi kandungan:

Video: Learning iOS: Create your own app with Objective-C! by Tianyu Liu 2024

Video: Learning iOS: Create your own app with Objective-C! by Tianyu Liu 2024
Anonim

Kadang-kala dalam pengaturcaraan C, pemboleh ubah mestilah seperti perkhidmatan telefon bimbit: tersedia di mana-mana sahaja. Pembolehubah ini juga boleh digunakan oleh mana-mana fungsi pada bila-bila masa. Pemboleh ubah jenis ini boleh dipanggil pembolehubah sejagat . Ia boleh dipanggil pembolehubah di seluruh dunia . Tetapi dalam C, ia dirujuk sebagai pembolehubah global .

Bagaimana untuk menggunakan pembolehubah global

Pembolehubah global menyelesaikan masalah tertentu dengan membuat pengisytiharan berubah universal. Dengan cara itu, sebarang fungsi di mana-mana sahaja dalam program boleh mengakses pemboleh ubah. Ia tidak perlu diluluskan atau dikembalikan dari suatu fungsi.

Tossing Your Age Around menunjukkan bagaimana variabel global diisytiharkan dan digunakan. Pembolehubah global umur dan float dipengaruhi oleh kedua-dua fungsi. Mereka boleh diserahkan kepada fungsi tersebut, tetapi kedua-dua nilai tidak dapat dikembalikan. (Fungsi C hanya mengembalikan satu nilai.) Oleh itu, pembolehubah global digunakan sebagai penyelesaian.

MENANGANI AGE ANDA DI SEKITAR

#include void half (void); tidak sah dua kali (tidak sah); umur int; kaki terapung; int main () {printf ("Berapa umur anda:"); scanf ("% d", & umur); printf ("Berapa tinggi kamu (dalam kaki):"); scanf ("% f", & kaki); printf ("Anda berusia% d tahun dan% 1f tinggi, n", umur, kaki); separuh(); dua kali (); printf ("Tetapi anda tidak benar-benar% d tahun atau%. 1f kaki tinggi n", umur, kaki); kembali (0);} void half (void) {float a, h; a = (float) umur / 2. 0; printf ("Setengah umur anda ialah% 1f n", a); h = kaki / 2. 0; printf ("Separuh ketinggian anda ialah% 1f n", h);} batal dua kali (tidak sah) {umur * = 2; printf ("Dua kali umur anda ialah% d. n", umur); kaki * = 2; printf ("Dua ketinggian anda adalah% 1fn", kaki);}

Baris 6 mengisytiharkan pembolehubah int global umur dan pembolehubah terapung kaki . Ini adalah pembolehubah global kerana mereka diisytiharkan di luar fungsi mana-mana, di sana di #include, #define, dan prototaip tanah. Pemboleh ubah kemudian digunakan dalam setiap fungsi. Nilai mereka boleh diakses sepanjang kod. Walaupun nilai tersebut berubah dalam fungsi dua kali (), fungsi utama () menggunakan nilai-nilai baru.

Perhatikan bahawa dua pernyataan printf () dalam fungsi utama () membungkus teks mereka di Tossing Your Age Around. Anda tidak perlu membungkus kenyataan tersebut dalam editor teks; hanya taipkan semuanya dalam satu baris.

Latihan 1 : Taip kod sumber untuk Menghilangkan Umur Anda Sekitar ke editor anda, buat program baru. Bina dan lari.

Jangan malas menggunakan pembolehubah global! Jika anda boleh lulus nilai untuk fungsi, berbuat demikian! Ia betul. Terlalu ramai pengaturcara yang tidak percaya mengisytiharkan semua pembolehubah mereka global "menyelesaikan masalah ini."Itu ceroboh dan tidak betul.

Contoh baik pemboleh ubah global termasuk maklumat yang semua fungsi dalam program itu perlu diketahui, seperti maklumat pengguna atau sama ada anda dalam talian atau sama ada teks dipaparkan atau tersembunyi. Dalam hal ini, pertimbangkan untuk membuat pemboleh ubah tersebut sebagai global.

Bagaimana untuk mencipta pembolehubah struktur global

Contoh yang lebih baik menggunakan pembolehubah global, dan situasi di mana pembolehubah global adalah benar-benar perlu, adalah ketika melewati struktur ke fungsi. Dalam hal ini, anda mesti mengisytiharkan struktur sebagai global supaya semua fungsi dapat mengakses pembolehubah jenis struktur itu.

Jangan biarkan panjang Lulus Struktur ke Fungsi mengintimidasi anda! Kebanyakan program "sebenar" yang anda tulis akan menjadi lebih lama!

MEMBERIKAN STRUKTUR KE FUNGSI

#include #include #include #define SIZE 5 struct bot {int xpos; int ypos;}; bot bot permulaan (struct bot b); int main () {rob robot bot struktur [SIZE]; int x; srandom (masa tidak ditandatangani) (NULL)); untuk lulus struktur ke fungsi, struktur mesti diisytiharkan di seluruh dunia, yang berlaku di antara Talian 7 dan 10. Itu perlu berlaku sebelum fungsi prototaip, yang berlaku di Baris 12. 

Fungsi inisialisasi () berjalan dari Lines 30 hingga 41. Struktur tersebut diluluskan kepada fungsi dan dikembalikan.Perhatikan bahawa pemboleh ubah struktur mesti didefinisikan sepenuhnya sebagai hujah.On Line 30, fungsi diberikan nama pembolehubah

b di dalam fungsi. Pernyataan pulangan di Jalur 40 melintasi struktur kembali ke fungsi panggilan. nilai itu akan kembali.

Latihan 2

: Skru keberanian anda ke tempat yang melekat, dan ketik semua baris kod sumber daripada Meluluskan Struktur ke Fungsi ke editor anda Membina dan jalankan Output menunjukkan bagaimana array struktur diluluskan (satu elemen pada satu masa) ke fungsi, diubah suai dalam func kemudian, dan kemudian kembali.

Pembolehubah Global dalam Pengaturcaraan C - dummies

Pilihan Editor

Cara RSVP ke Acara di Ning - patung

Cara RSVP ke Acara di Ning - patung

Di Ning, setelah anda menemukan persidangan itu mencari atau parti yang ingin anda hadiri, anda perlu RSVP untuk acara tersebut supaya pihak penganjur boleh mendapatkan jumlah minuman, makanan dan barang yang sesuai untuk semua peserta - dan juga rakan-rakan rangkaian anda yang tahu anda akan pergi . Untuk RSVP ...

Cara Menghantar Mesej Peribadi di Ning - dummies

Cara Menghantar Mesej Peribadi di Ning - dummies

Mesej hanya dengan dua kumpulan orang: rakan anda dan Pentadbir (termasuk Pencipta Rangkaian). Mesej peribadi Ning memberi anda cara yang ideal sebagai ahli untuk berkomunikasi dengan ahli-ahli lain dalam rangkaian tanpa semua orang mengetahui tentangnya:

Pilihan Editor

Dimensi web untuk Infographics anda - dummies

Dimensi web untuk Infographics anda - dummies

Cabaran untuk menilai infographic untuk web adalah saiz reka bentuk kini sangat berubah , tiada standard untuk bercakap. "Reka bentuk responsif" yang dibawa dengan kemunculan HTML5 mengubah landskap reka bentuk web secara kekal. Tidak seperti grafik yang dicetak, di mana setiap orang yang melihatnya mengalaminya dalam saiz yang sama, ...

Pilihan Editor

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Komuniti mempunyai tindak balas yang positif, negatif, atau neutral kepada anda dan jenama anda boleh membantu anda menentukan bagaimana untuk terus mengendalikan pendekatan penglibatan media sosial anda. Bagaimana anda mengukur pesaing dalam minda penonton dalam talian anda adalah satu lagi faktor penting untuk dinilai. Anda juga boleh memanfaatkan ...

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Tidak ada yang salah dengan menjangkau para blogger, penulis, dan ahli komuniti dalam talian lain dan bertanya kepada mereka jika mereka berminat untuk menyemak jenama atau komuniti anda. Perbezaan antara penginjilan jenama dan melakukan kajian semula adalah bahawa penginjil jenama tidak mengkaji: Mereka mempromosikan, dan mereka diberi pampasan sebagai pertukaran untuk promosi mereka. Penilai, di ...

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Untuk cara percikan untuk dilihat blog atau laman web, pertimbangkan menaja laman web ini. Penajaan untuk blog popular telah mendapat banyak perhatian dalam blogosphere. Sesetengah blogger menyeru menerima tajaan "menjual keluar," tetapi yang lain menganggapnya sebagai cara terbaik untuk mendapatkan bayaran untuk melakukan apa yang mereka suka. Penajaan cenderung kepada ...