[Powered by Google Translate] JOE McCormick: Jadi sekarang kita akan bercakap tentang pembolehubah.
Pembolehubah dalam sains komputer adalah satu cara untuk menyimpan nilai.
Sekarang, apa dan bagaimana kami menyimpan bahawa
nilai tidak terlalu penting.
Kita boleh mempunyai nilai yang adalah perkataan, yang boleh
disimpan sebagai rentetan.
Atau kita boleh mempunyai sesuatu yang bersifat,
seperti huruf.
Dan yang akan disimpan sebagai char.
Kita boleh mempunyai nombor, seperti satu atau 12, yang akan
disimpan sebagai integer atau int.
Kemudian, kita mempunyai perkara-perkara yang berbeza seperti apungan, yang boleh menyimpan
perkara seperti 1,01 atau 111,13.
Nilai-nilai ini sentiasa dipanggil tdk.
Yang bermaksud bahawa jika kita disimpan nombor satu dalam integer di
atas program kemudian, kita boleh menukar nombor itu kepada
menjadi tiga atau tujuh.
Sekarang, pembolehubah tempatan adalah apa yang anda biasanya akan menemui,
apabila melaksanakan fungsi.
Jadi katakan anda dalam fungsi utama anda.
Dan anda mahu untuk mewujudkan num ubah yang dipanggil.
Dan kita akan menyimpan integer di dalamnya.
Jadi, kita boleh mengatakan sesuatu seperti int num = 3.
Sekarang, ada anda pergi.
Anda mempunyai pembolehubah tempatan.
Sekarang, pembolehubah ini boleh diubah kemudian di utama
fungsi, dengan mengatakan sesuatu seperti num = 6 atau num = 7.
Tetapi pembolehubah anda terperangkap dalam
skop fungsi itu.
Dan skop biasanya bermula dengan pendakap kerinting di
awal utama dan berakhir dengan pendakap kerinting bahawa
menutup fungsi utama.
Dan ini pembolehubah tempatan kini terperangkap dalam skop ini.
Jadi ia tidak lagi boleh diakses dalam fungsi lain,
luar fungsi utama.
Dan sekali fungsi utama selesai pelaksanaan dan
pulangan, ini num tempatan ubah dipanggil hilang.
Jadi Berbeza dengan pembolehubah tempatan, kita mempunyai sesuatu
dipanggil pembolehubah global.
Sekarang, pembolehubah global diisytiharkan di atas
program dan boleh diakses di mana-mana dalam program ini.
Jadi katakan anda mengisytiharkan pembolehubah global di bahagian atas
program, dipanggil ujian.
Sekarang, pembolehubah ini boleh diakses
mana-mana sahaja dalam program ini.
Anda boleh mengakses dalam fungsi utama atau fungsi
bawah yang.
Tetapi jika anda pernah cuba untuk mencipta pembolehubah tempatan di salah satu daripada
fungsi-fungsi ini, dengan nama yang sama seperti
ujian, ada konflik.
Kerana anda tidak tahu pembolehubah yang anda mahu gunakan.
Adakah anda ingin untuk menggunakan ujian global,
diisytiharkan pada program atas?
Atau adakah anda mahu menggunakan ujian tempatan pembolehubah yang
anda cuba untuk mewujudkan dalam fungsi ini?
Sekarang, ini adalah salah satu sebab mengapa kita tidak mahu
hanya menggunakan pembolehubah global bebas.
Ada sesuatu yang dipanggil cluttering ruang nama.
Malah jika anda tidak bermaksud untuk, anda secara tidak sengaja boleh mewujudkan
pembolehubah tempatan, kemudian di dalam program ini, dengan yang sama
nama sebagai pembolehubah global.
Dan ini tidak menimbulkan masalah besar apabila anda bekerja di
kecil 10, 20, 30-line program.
Sebaik sahaja anda mempunyai sehingga beribu-ribu baris kod, anda tidak akan
ingat dengan tepat apa yang anda telah disimpan bagi pemboleh ubah global.
Jadi, satu perkara yang perlu dipertimbangkan, apabila menggunakan tempatan dan global
pembolehubah adalah untuk berfikir tentang skop mereka.
Kini, skop merujuk kepada mana pembolehubah ini boleh digunakan dalam
program.
Jadi pembolehubah global mempunyai apa yang dipanggil skop global,
bermakna bahawa ia boleh digunakan di mana-mana dalam program ini.
Sebaik sahaja anda memulakan pembolehubah yang, ia boleh digunakan dalam
apa-apa fungsi, sama ada ia menjadi fungsi utama atau
fungsi 10 fungsi turun, dipanggil foo10.
Ia tidak kira di mana anda menggunakannya.
Tetapi pembolehubah tempatan mempunyai skop yang khusus.
Dan skop pembolehubah tempatan itu ditentukan oleh
di mana ia dimulakan.
Kini, skop biasanya ditentukan oleh pembukaan
bersedia fungsi bahawa pembolehubah diisytiharkan dalam, sehingga
bersedia tutup fungsi itu.
Jadi katakan anda dalam fungsi utama.
Dan anda mewujudkan pemboleh ubah.
Tetapi sekarang, dalam fungsi utama ini, kita panggil lain
berfungsi foo.
Dalam foo fungsi, kita tidak boleh memanggil pembolehubah kita hanya
diwujudkan dalam fungsi utama kerana ia bukan dalam skop.
Pembolehubah adalah hanya dalam skop dalam fungsi utama.
Jadi kita boleh menggunakan lagi, dalam fungsi utama, tetapi
bukan dalam fungsi yang dipanggil dari fungsi utama.
Jadi seperti timbunan dan longgokan itu, pembolehubah global
disimpan di dalam bahagian tertentu ingatan.
Sekarang, ini sebahagian daripada memori bergantung kepada sistem yang
anda gunakan.
Pembolehubah global mempunyai dua tempat yang berasingan yang mereka
disimpan, satu untuk pembolehubah dimulakan global, seperti jika
anda telah mengisytiharkan ujian int = 5, di atas program anda.
Dan kawasan lain adalah bagi pemboleh ubah unitialized global,
jika anda hanya berkata, ujian int, di bahagian atas program anda dan
telah pergi untuk menetapkan pembolehubah ujian
kemudian di dalam program ini.
Jadi sekarang saya akan bercakap tentang sesuatu yang dipanggil # menentukan,
yang merupakan satu cara untuk memberi nama simbolik kepada pemalar.
Dan di sini kita mempunyai contoh program C yang mengira
kawasan bulatan.
Dan di atas program kami akan melakukan sesuatu yang mengatakan
# Define pi 3,14159.
# Menentukan tidak teknikal mencipta pembolehubah global.
Sebaliknya, ia memberitahu prapemproses pengumpul
mencari dan menggantikan semua keadaan pi dengan
3,14159 sebelum menyusun.
Walau bagaimanapun, ia menjadi satu teknik yang berguna untuk mengisytiharkan
pemalar, untuk kegunaan sepanjang program.
Sekarang, melihat fungsi kawasan, ia mengambil masa dalam apungan
rad dan hanya mengembalikan kawasan bulatan dengan
jejari atau pi r kuasa dua, atau kali pi rad kali rad.
Dan ini adalah di mana # define memainkan peranan penting.
Kerana pengkompil pada dasarnya akan menggantikan yang pi
simbol dengan bilangan 3,14159.
Dan supaya kita tidak perlu untuk menulis yang berulang-ulang kali.
Dan kemudian, jika kita memutuskan untuk menggunakan digit lebih pi, mari kita
mengatakan 3.1415926, kita hanya boleh menambah bahawa ke atas
program dan tidak akan mempunyai untuk menukar,
kemudian di dalam program ini.
Ini adalah penggunaan yang baik # define.
Kita tidak mahu untuk menyimpan pi sebagai pembolehubah global kerana ia
boleh mengubah kemudian dalam program ini.
Dan kita tahu pi tidak berubah.
Ia adalah pemalar.
Jadi ini wrap up topik kami pembolehubah global.
Jadi hari ini kita bercakap tentang perbezaan antara tempatan dan
pembolehubah global; apabila menggunakan mereka, bergantung kepada mereka
skop dan mengapa tidak menggunakan pembolehubah global pada akan
kerana cluttering ruang nama.
Saya Joe McCormick.
Dan ini adalah CS50.