[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.