Halo dan selamat datang.
Dalam kuliah ini, saya ingin berbicara tentang menginisialisasi array.
Kita tahu bagaimana menggunakan array, kita tahu cara membuat array.
Tetapi secara khusus, bagaimana jika Anda mau untuk menetapkan nilai awal tertentu ke array,
bagaimana Anda melakukannya?
Jadi, Anda ingin menetapkan inisial nilai untuk elemen array Anda
hampir sepanjang waktu.
Alasan Anda ingin menetapkan nilai awal ke array atau bahkan
ke variabel adalah karena itu membuatnya lebih mudah untuk mendeteksi ketika ada
sesuatu yang salah.
Ketika Anda tidak memiliki data awal dan Anda mencoba melakukan sesuatu, Anda dapat
menyebabkan masalah dalam program Anda.
Jadi inisialisasi sangat bagus hal dan Anda selalu ingin melakukannya.
Dan menggunakan array, ada banyak, banyak elemen dalam array.
Jadi ada cara khusus itu Anda dapat menginisialisasi elemen-elemen tersebut.
Ada yang berbeda sintaks yang dapat Anda gunakan.
Tapi inisialisasi adalah hal yang baik dan Anda selalu ingin melakukannya.
Saya ingin cepat berbicara bagaimana anda dapat melakukan array karena ada
berbagai cara untuk melakukannya.
Jadi sama seperti Anda dapat menetapkan inisial nilai ke
variabel, ketika dideklarasikan, Anda juga dapat menetapkan nilai awal
ke elemen array, saat dideklarasikan.
Untuk menginisialisasi nilai array, Anda cukup berikan nilai dalam daftar.
Daftar dipisahkan dengan koma dan seluruh daftar diapit di
dalam sepasang kurung kurawal.
Ini terlihat seperti ini.
Di sini kami membuat array bernama counter.
Ini bertipe int, ia memiliki 5 elemen.
Dan kemudian apa yang kita lakukan adalah kita memiliki tanda kurung kurawal dan
kami tidak menggunakan indeks apa pun di sini.
Anda akan melihat bahwa kami hanya memiliki angka dipisahkan dengan koma.
Apa yang dilakukan ini adalah pengaturannya semua 5 elemen dalam array penghitung
ke 0, masing-masing elemen adalah 0.
Jika kita memiliki array lain dan kita beri nama bilangan bulat array ini dan itu
juga berukuran 5 dan kemudian kita miliki di kurung kurawal setelah
operator penugasan 0 koma 1 koma 2 koma 3 koma 4, apa yang dilakukan?
Ini menetapkan bilangan bulat yang pertama elemen bilangan bulat array
ke 0, elemen kedua ke 1, yang ketiga elemen ke 2, elemen keempat ke 3
dan elemen kelima ke 4.
Ini sintaks yang bagus di mana Anda bisa segera inisialisasi array ketika Anda
mendeklarasikannya hanya dengan menyediakan angka dipisahkan dengan koma di dalam tanda kurung dan
Anda ingin melakukan ini.
Itu juga tidak perlu sepenuhnya inisialisasi seluruh array.
Jadi di 2 sebelumnya contoh, kami menginisialisasi semua 5
elemen dari array ukuran 5.
Bagaimana jika Anda hanya ingin menginisialisasi beberapa nilai?
Jika Anda memberikan nilai awal yang tidak sama dengan jumlah ukuran array, maka nilai yang tersisa diatur ke 0.
Jadi jika Anda melakukan sesuatu seperti ini di mana Anda
memiliki array yang disebut data sampel tipe aliran, itu berisi 500 elemen.
Tapi di kurung kurawal, semua Anda lihat di sini adalah 3 elemen kami.
Apa yang akan dilakukan adalah itu akan
menginisialisasi 3 nilai pertama dari sampel larik data ke 100 300 500. 5.
Dan kemudian sisanya 5 497 elemen akan menjadi 0.
Jadi kamu tidak perlu tentukan semuanya.
Ada juga konsep ini dari inisialisasi yang ditunjuk.
Ini diperkenalkan Saya percaya pada C99.
Ini adalah fitur kecil yang bagus di mana Anda dapat memilih dan memilih elemen
yang ingin Anda inisialisasi.
Saya pikir di C99, mereka menambahkannya dan kemudian di C11, mereka menjadikannya opsional.
Jadi tergantung pada kompiler apa Anda miliki, Anda mungkin atau mungkin
tidak dapat melakukan ini.
Tapi saya ingin menyebutkannya karena itu agak umum.
Beberapa kompiler tidak akan mengizinkan Anda untuk melakukan ini setelah C99.
Tapi itu keren karena kamu bisa sebenarnya hanya memilih dan memilih.
Jadi Anda bisa menyertakan elemen nomor dalam sepasang tanda kurung dan kemudian tentukan elemen
array yang dapat diinisialisasi dan Anda dapat melakukannya dalam
urutan apa pun.
Jadi inilah contohnya.
Sekali lagi, kami memiliki array data sampel kami.
Itu tipe float.
Ini akan menjadi 500 dalam ukuran.
Tapi di sini di dalam keriting kami kawat gigi, kami memiliki indeks tambahan.
Kami memiliki tanda kurung kami di 2, kata kurung 2 sub-2 sama dengan 500. 5, sub-1 sama dengan
300. 0 dan sub-0 sama dengan 100. 0.
Mereka dipisahkan dengan koma.
Semua ini lakukan adalah menentukan hal yang sama yang kita miliki di contoh
sebelumnya, tapi itu melakukannya dalam urutan yang berbeda.
Tapi kamu masih akan memiliki elemen 0 atau elemen pertama sama dengan
100, yang kedua elemen sama dengan 300 dan album ketiga sama
dengan 500. 5.
Tapi kami menentukan indeks apa yang harus diinisialisasi tepat di
dalam kurung kurawal.
Contoh lain di sini kita memiliki int array yang disebut arr, ukurannya 6.
Dan ketika kami mendeklarasikannya, kami menginisialisasi elemen kelima
yang merupakan elemen terakhir ke 212, semua elemen akan menjadi 0.
Jadi inilah contoh tradisional inisialisasi di mana Anda baru saja mendeklarasikan
nama array Anda dan Anda menyediakan banyak nomor yang berbeda.
Dalam contoh ini, kami mendeklarasikan array dan itu akan
menyimpan semua hari di setiap bulan.
Jadi ketika kita melewati ini array dan
kami mencetaknya yang sangat umum, Anda biasanya menggunakan loop untuk mencetak elemen
dalam array atau setidaknya mengulanginya.
Apa yang kita lakukan di sini adalah kita hanya akan mencetak setiap
bulan dan berapa hari itu.
Jadi mari kita bahas ini dalam kode blok untuk menunjukkan output.
Jadi inilah contoh kita.
Kami memiliki hari dan bulan dan kami menginisialisasi array.
Elemen pertama yang menjadi 31, 28 berikutnya, 31 berikutnya.
Anda juga memperhatikan di baris 10, kami menggunakan definisi untuk membuat konstanta.
Dan omong-omong di c, Anda juga bisa gunakan kata kunci konstan, yang akan kita
bicarakan dan hal lainnya, yaitu cara lain untuk membuat konstanta.
Tapi sekarang kita hanya berbicara tentang array
dan menginisialisasinya, sangat mudah dilakukan, dipisahkan dengan koma di dalam kurung kurawal.
Jadi apa yang akan ditampilkan ini?
apakah itu akan melalui array dan itu akan melihat indeks ditambah 1 dan kemudian indeks hari.
Jadi itu akan mengatakan bulan 1 memiliki berapa hari tergantung pada apa
nilainya.
Jadi kita mengakses indeks dengan nama array dan kemudian nilai
subskrip, indeks nilai dan kami menggunakan array.
Jadi itu adalah variabel yang perubahan melalui setiap iterasi.
Jadi kami mencoba menjalankan ini.
Output yang akan Anda tuju lihat adalah bulan satu memiliki 31 hari, bulan 2 memiliki 28
hari jenis representasi Januari Februari Maret April, tapi itu hanya
melewati array dan mencetak hari-hari.
Jadi ini membuktikan bahwa inisialisasi berfungsi.
Dan lagi, Anda pasti ingin untuk menginisialisasi data Anda.
Sekarang mari kita bicara tentang yang lain contoh dan berbicara tentang
mengulangi elemen inisialisasi.
Jadi di sini akan menjadi contoh lain, tetapi dalam contoh ini
kita akan menggunakan penginisialisasi yang ditunjuk.
Kami akan menentukan yang tepat elemen yang ingin kita inisialisasi.
Jadi jalur utama yang Anda harus pemberitahuan di sini adalah
yang mengatakan hari dan bulan di mana kami sedang melakukan inisialisasi kami.
Anda akan melihat di dalam keriting
kurung yang elemen pertama mendapat 31, yang kedua 28, tapi kemudian ada sesuatu di
dalam tanda kurung yang mengatakan 4, itu akan mendapatkan nilai 31.
Kemudian kita memiliki koma, elemen 5 akan mendapatkan 30, elemen
6 akan mendapatkan 31.
Dan kemudian kita memiliki 1.
Ini berarti kita sekarang akan menimpa 28, dan kami sebenarnya akan
menempatkan 29, menempatkannya sebagai 29.
Jadi agak berlebihan di sini.
Kami tidak benar-benar perlu melakukan itu, tetapi Anda
benar-benar akan menghapus sub-1 karena 31 dan 28, sub-1 sudah ditetapkan di sini.
Tapi sepertinya kita mengatakan sub-1 juga bisa bernilai 29.
Jadi ini hanya menggunakan inisialisasi yang ditunjuk.
Bagaimana jika kita mau ulangi nilai yang sama.
Sekarang di c, Anda selalu bisa inisialisasi seluruh array dengan nilai
yang sama jika Anda menentukan 0.
Anda selalu dapat menginisialisasi itu seperti parameter nol.
Tapi selain itu, c tidak menyediakan mekanisme pintasan apa pun
untuk menginisialisasi array elemen, setidaknya tidak di C89.
Anda mungkin melihat di C11, sekali lagi, di mana Anda dapat menginisialisasi nilai yang sama
ke seluruh array hanya menggunakan tanda kurung tanpa subscript hanya nomor.
Tapi sekarang di C89 dan C99, ada tidak ada cara untuk menentukan jumlah pengulangan.
Tidak ada cara untuk mengatakan semua elemen sinar ini harus 55, misalnya.
Jadi jika itu diinginkan pada awalnya atur semua 500 nilai
data sampel menjadi 1, semua 500 akan memiliki untuk secara eksplisit ditugaskan yang akan menjadi
sakit besar di pantat.
Jadi apa yang akhirnya Anda lakukan adalah Anda akan hanya menempatkan mereka di dalam satu lingkaran.
Cara termudah untuk beralih melalui array menggunakan loop.
Nah, inilah contoh singkat dari bagaimana Anda dapat menginisialisasi semua elemen
ke nilai yang sama.
Namun dalam hal ini, kami menginisialisasi elemen
pertama ke 0 1 4 9 dan 16.
Jadi ini benar-benar hanya inisialisasi semua elemen yang tersisa menjadi nilai.
Pada dasarnya elemen ke-6 dari Elemen ke-10 menggunakan indeks 5 hingga 9.
Jadi itulah yang dilakukan for loop ini.
Yang pertama untuk loop mengatakan bahwa kita akan menginisialisasi elemen dari 5
hingga 9 menjadi I kali I.
Dan kemudian yang kedua untuk loop di sini, itu
harus menjorok, lebih sulit untuk dibaca.
Yang kedua untuk loop sebenarnya melalui seluruh
array dan hanya menampilkan data ke menunjukkan kepada Anda bahwa 5
nilai terakhir sebenarnya diinisialisasi.
Jadi kapan pun Anda ingin mengulang nilai yang sama atau inisialisasi
ke nilai yang berbeda, cukup gunakan loop.
Sekali lagi, inisialisasi itu penting.
Anda akan ingin menginisialisasi, jadi pastikan bahwa sintaks ini adalah sifat kedua untuk
Anda karena kami akan menggunakan array cukup sedikit di c.