Isi kandungan:
- Bagaimana untuk menggunakan pembolehubah global
- Bagaimana untuk mencipta pembolehubah struktur global
Video: Learning iOS: Create your own app with Objective-C! by Tianyu Liu 2024
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.