Daftar Isi:
Video: Belajar C++ Episode #32 - Scope Variabel (Global, Lokal, dan Block) 2024
Terkadang dalam pemrograman C, sebuah variabel harus seperti layanan telepon seluler: tersedia di mana-mana. Variabel juga dapat digunakan oleh fungsi kapan saja. Jenis variabel ini bisa disebut variabel universal . Bisa disebut variabel di seluruh dunia . Tapi di C, itu disebut variabel global .
Cara menggunakan variabel global
Variabel global memecahkan masalah tertentu dengan membuat deklarasi variabel universal. Dengan begitu, fungsi manapun di program bisa mengakses variabel. Tidak harus dilewati atau dikembalikan dari sebuah fungsi.
Menempatkan Usia Anda Sekitar menunjukkan bagaimana variabel global dinyatakan dan digunakan. Variabel global umur dan mengapung dipengaruhi oleh kedua fungsi tersebut. Mereka dapat diteruskan ke fungsi tersebut, namun kedua nilai tersebut tidak dapat dikembalikan. (Fungsi C hanya mengembalikan satu nilai.) Oleh karena itu, variabel global digunakan sebagai solusi.
MENINGINKAN AGAMA ANDA SEKITAR
#include void half (void); void dua kali (void); usia int; kaki mengapung; int main () {printf ("berapa umurmu:"); scanf ("% d", & usia); printf ("Seberapa tinggi Anda (di kaki):"); scanf ("% f", & kaki); printf ("Anda berumur antara% d dan%. 1 kaki kaki n", umur, kaki); setengah(); dua kali(); printf ("Tapi Anda tidak benar-benar% d tahun atau%; 1 kaki kaki n,", umur, kaki); return (0);} void half (void) {float a, h; a = (mengapung) umur / 2. 0; printf ("Setengah umur Anda adalah% 1f. n", a); h = kaki / 2. 0; printf ("Setengah tinggi Anda adalah%. 1f. n", h);} void dua kali (void) {age * = 2; printf ("Dua kali umurmu adalah% d. n", umur); kaki * = 2; printf ("Dua kali ketinggian Anda adalah%. 1fn", feet);}
Baris 6 menyatakan variabel int global usia dan variabel float feet . Ini adalah variabel global karena dinyatakan di luar fungsi apa pun, di atas sana ada #include, #define, dan prototyping land. Variabel tersebut kemudian digunakan pada setiap fungsi. Nilai mereka bisa diakses di seluruh kode. Bahkan ketika nilai tersebut diubah dalam fungsi dua kali (), fungsi main () menggunakan nilai baru.
Sadarilah bahwa dua pernyataan printf () di main () berfungsi membungkus teks mereka di Tossing Your Age Around. Anda tidak perlu membungkus pernyataan tersebut di editor teks; cukup ketik mereka semua pada satu baris.
Latihan 1 : Ketik kode sumber untuk Menuangkan Umur Anda ke editor Anda, buat sebuah program baru. Bangun dan jalankan
Jangan malas menggunakan variabel global! Jika Anda bisa memberi nilai pada sebuah fungsi, lakukanlah! Itu benar Terlalu banyak programmer malas mendeklarasikan semua variabel mereka secara global untuk "memecahkan masalah."Itu ceroboh dan tidak patut.
Contoh bagus dari variabel global mencakup informasi bahwa semua fungsi dalam program harus diketahui, seperti informasi pengguna atau apakah Anda sedang online atau apakah teks ditampilkan atau disembunyikan. Dalam hal ini, pertimbangkan untuk menjadikan variabel-variabel global sebagai gantinya.
Cara membuat variabel struktur global
Contoh yang lebih baik untuk menggunakan variabel global, dan situasi di mana variabel global benar-benar diperlukan, adalah ketika melewati struktur ke sebuah fungsi. Dalam hal ini, Anda harus mendeklarasikan struktur sebagai global sehingga semua fungsi dapat mengakses variabel tipe struktur tersebut.
Jangan biarkan panjang besar Melewati Struktur ke Fungsi mengintimidasi Anda! Sebagian besar program "nyata" yang akhirnya Anda tulis akan jauh lebih lama!
MELALUI STRUKTUR KE FUNGSI
#include #include #include #define SIZE 5 struct bot {int xpos; int ypos;}; struct bot menginisialisasi (struct bot b); int main () {struct bot robots [SIZE]; int x; srandom ((unsigned) time (NULL)); untuk (a) Untuk melewatkan sebuah struktur ke sebuah fungsi, struktur harus dinyatakan secara global, yang terjadi antara Baris 7 dan 10. Hal yang harus terjadi bahkan sebelum fungsi tersebut dibuat prototipe, yang terjadi pada Baris 12.Fungsi inisialisasi () berjalan dari Lines 30 sampai 41. Struktur dilewatkan ke fungsi dan dikembalikan. Perhatikan bahwa variabel struktur harus didefinisikan sepenuhnya sebagai argumen. Pada Baris 30, fungsi diberi nama variabel
b di dalam fungsi Pernyataan pengembalian pada Baris 40 melewati struktur kembali ke fungsi pemanggilan. Memang, fungsi inisialisasi () didefinisikan sebagai struktur jenis fungsi. Itulah jenis nilai itu kembali
Latihan 2
: Sekruplah keberanian Anda ke tempat yang mencuat, dan ketik semua baris kode sumber dari Melewati Struktur ke Fungsi ke dalam editor Anda Bangun dan jalankan Keluaran menunjukkan bagaimana susunan struktur dilewatkan (satu elemen pada satu waktu) ke sebuah fungsi, yang dimodifikasi dalam func dan kemudian kembali.