Apakah Pembolehubah?
Pemboleh ubah adalah nama yang diberikan ke kawasan penyimpanan yang boleh dimanipulasi oleh program. Jenis pemboleh ubah menentukan ukuran dan susun atur memori pemboleh ubah.
Ini juga menentukan julat nilai yang perlu disimpan di dalam memori dan sifat operasi yang dapat diterapkan pada pemboleh ubah tersebut.
Dalam tutorial ini, anda akan belajar
- Skop Pemboleh ubah
- Definisi Pembolehubah Tempatan
- Definisi Pembolehubah Global
- Pemboleh ubah Tempatan berbanding Pembolehubah Global
- Kelebihan menggunakan pemboleh ubah Global
- Kelebihan menggunakan Pembolehubah Tempatan
- Kelemahan penggunaan pemboleh ubah Global
- Kelemahan menggunakan Pembolehubah Tempatan
- Apa yang lebih berguna?
Skop Pemboleh ubah
Skop pemboleh ubah hanyalah jangka masa pemboleh ubah. Ini adalah sekatan kod di mana pemboleh ubah berlaku atau masih hidup. Sebagai contoh:
function foo(){var x;}
Anda menyatakan pemboleh ubah "x" di dalam fungsi "foo." Skop pemboleh ubah itu tetap berada di dalam fungsi itu, ia tidak dapat digunakan di luar fungsi tersebut.
Terdapat tiga tempat di mana pemboleh ubah boleh anda nyatakan bahasa pengaturcaraan pemboleh ubah:
- Di dalam fungsi atau blok: Pemboleh ubah tempatan
- Di luar semua fungsi: Pemboleh ubah global
- Dalam definisi parameter fungsi: Parameter formal
PERBEZAAN UTAMA
- Pemboleh ubah tempatan dinyatakan di dalam fungsi sedangkan pemboleh ubah global dinyatakan di luar fungsi.
- Pemboleh ubah tempatan dibuat apabila fungsi telah mulai dijalankan dan hilang ketika fungsi berakhir, di sisi lain, pemboleh ubah global dibuat ketika pelaksanaan dimulakan dan hilang ketika program berakhir.
- Pemboleh ubah tempatan tidak menyediakan perkongsian data sedangkan pemboleh ubah global menyediakan perkongsian data.
- Pemboleh ubah tempatan disimpan di timbunan sedangkan pemboleh ubah Global disimpan di lokasi tetap yang diputuskan oleh penyusun.
- Lulus parameter diperlukan untuk pemboleh ubah tempatan sedangkan tidak diperlukan untuk pemboleh ubah global
Pemboleh ubah Setempat
Pembolehubah tempatan ditakrifkan sebagai jenis pemboleh ubah yang dinyatakan dalam blok pengaturcaraan atau subrutin. Itu hanya dapat digunakan di dalam subrutin atau blok kod di mana ia dinyatakan. Pemboleh ubah tempatan wujud sehingga blok fungsi sedang dijalankan. Selepas itu, ia akan dimusnahkan secara automatik.
Contoh Pembolehubah Setempat
public int add(){int a =4;int b=5;return a+b;}
Di sini, 'a' dan 'b' adalah pemboleh ubah tempatan
Pembolehubah Global
A ubah Global dalam program ini adalah pembolehubah ditakrifkan luar subrutin atau fungsi. Ia mempunyai skop global yang bermaksud mengekalkan nilai sepanjang hayat program. Oleh itu, ia dapat diakses sepanjang program dengan fungsi yang ditentukan dalam program, kecuali jika ia dibayangi.
Contoh:
int a =4;int b=5;public int add(){return a+b;}
Di sini, 'a' dan 'b' adalah pemboleh ubah global.
Pembolehubah Setempat Vs. Pemboleh ubah Global
Berikut adalah beberapa perbezaan asas antara pemboleh ubah tempatan dan global.
Parameter | Tempatan | Global |
---|---|---|
Skop | Ia dinyatakan di dalam fungsi. | Ia dinyatakan di luar fungsi. |
Nilai | Sekiranya tidak diinisialisasi, nilai sampah disimpan | Sekiranya tidak dimulakan, sifar disimpan sebagai lalai. |
Seumur hidup | Ia dibuat ketika fungsinya mulai dijalankan dan hilang ketika fungsinya berakhir. | Ia dibuat sebelum pelaksanaan global program dimulakan dan hilang ketika program berakhir. |
Perkongsian data | Perkongsian data tidak mungkin kerana data pemboleh ubah tempatan dapat diakses hanya dengan satu fungsi. | Perkongsian data adalah mungkin kerana pelbagai fungsi dapat mengakses pemboleh ubah global yang sama. |
Parameter | Lulus parameter diperlukan untuk pemboleh ubah tempatan untuk mengakses nilai dalam fungsi lain | Melepasi parameter tidak diperlukan untuk pemboleh ubah global kerana ia dapat dilihat sepanjang program |
Pengubahsuaian nilai berubah | Apabila nilai pemboleh ubah tempatan diubah dalam satu fungsi, perubahan tidak dapat dilihat pada fungsi lain. | Apabila nilai pemboleh ubah global diubah dalam satu fungsi perubahan dapat dilihat pada program yang lain. |
Diakses oleh | Pemboleh ubah tempatan dapat diakses dengan bantuan pernyataan, di dalam fungsi di mana mereka dinyatakan. | Anda boleh mengakses pemboleh ubah global dengan pernyataan dalam program ini. |
Penyimpanan memori | Ia disimpan di timbunan kecuali dinyatakan. | Ia disimpan di lokasi tetap yang diputuskan oleh penyusun. |
Kelebihan menggunakan pemboleh ubah Global
- Anda boleh mengakses pemboleh ubah global dari semua fungsi atau modul dalam program
- Anda hanya perlu mengisytiharkan pemboleh ubah global satu kali di luar modul.
- Ia digunakan dengan baik untuk menyimpan "pemalar" kerana ia membantu anda mengekalkan konsistensi.
- Pemboleh ubah global berguna apabila pelbagai fungsi mengakses data yang sama.
Kelebihan menggunakan Pembolehubah Tempatan
- Penggunaan pemboleh ubah tempatan memberikan jaminan bahawa nilai pemboleh ubah akan tetap utuh semasa tugas dijalankan
- Sekiranya beberapa tugas mengubah satu pemboleh ubah yang berjalan serentak, hasilnya mungkin tidak dapat diramalkan. Tetapi menyatakannya sebagai pemboleh ubah tempatan menyelesaikan masalah ini kerana setiap tugas akan membuat contoh pemboleh ubah tempatan sendiri.
- Anda boleh memberikan pemboleh ubah tempatan dengan nama yang sama dalam fungsi yang berbeza kerana mereka hanya dikenali oleh fungsi yang dinyatakan.
- Pemboleh ubah tempatan dihapuskan sebaik sahaja fungsi selesai dan melepaskan ruang memori yang ditempati.
Kelemahan penggunaan Pembolehubah Global
- Terlalu banyak pemboleh ubah yang dinyatakan sebagai global, maka mereka tetap berada dalam ingatan sehingga pelaksanaan program selesai. Ini boleh menyebabkan masalah Out of Memory.
- Data dapat diubahsuai dengan fungsi apa pun. Sebarang pernyataan yang ditulis dalam program boleh mengubah nilai pemboleh ubah global. Ini mungkin memberikan hasil yang tidak dapat diramalkan dalam persekitaran multi-tasking.
- Sekiranya pemboleh ubah global dihentikan kerana pemfaktoran semula kod, anda perlu mengubah semua modul di mana ia dipanggil.
Kelemahan menggunakan Pembolehubah Tempatan
- Proses penyahpepijatan pemboleh ubah tempatan agak sukar.
- Data biasa diperlukan untuk berulang kali kerana perkongsian data tidak mungkin dilakukan antara modul.
- Mereka mempunyai ruang lingkup yang sangat terhad.
Apa yang lebih berguna?
Pemboleh ubah tempatan dan global sama pentingnya semasa menulis program dalam bahasa apa pun. Walau bagaimanapun, sebilangan besar pemboleh ubah global mungkin mempunyai memori yang besar. Perubahan yang tidak diingini terhadap pemboleh ubah global menjadi sukar untuk dikenalpasti. Oleh itu, disarankan untuk tidak menyatakan pemboleh ubah global yang tidak diingini.