Halo dan selamat datang.
Dalam kuliah ini, saya ingin berbicara tentang konsep array.
Array adalah konsep yang memungkinkan Anda untuk menyimpan banyak nilai yang berbeda
dalam satu variabel pada dasarnya.
Array adalah hal yang umum di sebagian besar bahasa pemrograman.
Mereka membantu menyederhanakan dan membuat Anda program jauh lebih efisien.
Jadi kita akan berbicara tentang membuat dan menggunakan array di c.
Jadi sebuah array.
Ini sangat umum dalam sebuah program untuk menyimpan banyak nilai data dari tipe tertentu.
Dalam program olahraga, misalnya, Anda mungkin ingin
menyimpan skor semua game atau skor untuk setiap pemain.
Sampai saat ini, kita bisa dengan mudah menerapkan itu, tetapi kita harus menulis variabel yang
berbeda untuk setiap skor.
Jadi bayangkan jika ada banyak permainan.
Maksudku dalam bisbol ada 162 pertandingan.
Jika kita menulis sebuah program yang adalah program bisbol
yang ingin menyimpan beberapa statistik atau sesuatu, kami harus membuat 162
variabel untuk setiap permainan untuk menjaga skor.
Sekarang itu adalah rasa sakit di pantat.
Ini akan sangat membosankan.
dan itu benar-benar terlalu banyak.
Jadi di sinilah array ikut bermain, array akan
memecahkan masalah ini.
Anda tidak harus membuat 162 variabel.
Anda dapat membuat satu variabel dan mengaksesnya dengan cara tertentu.
Jadi array memungkinkan Anda mengelompokkan nilai bersama dalam satu nama.
Anda tidak perlu berpisah variabel untuk setiap item data.
Jadi itu akan memungkinkan Anda untuk menjadi programmer yang jauh lebih efisien.
Array adalah sejumlah data yang tetap item mereka semua jenis yang sama.
Jadi hanya satu masalah dengan array adalah Anda tidak dapat
mengubah ukuran array.
Setelah Anda membuat array, itu selalu akan menjadi ukuran itu.
Dan batasan lainnya adalah bahwa Anda tidak dapat menyimpan
banyak jenis data.
Jika Anda mendeklarasikan array dan itu masih akan menyimpan angka dan
int, ia harus menyimpan int.
Jadi beberapa keterbatasan.
Bagaimana Anda mendeklarasikan array.
Ingatlah bahwa ketika Anda menyatakan variabel apa yang kamu lakukan?
Anda mengatakan bahwa ini variabel yang ada dalam program.
Dan saat Anda mendeklarasikan tipe data primitif ini,
Anda mengalokasikan bentuk memori.
Saat Anda mendeklarasikan array, item data dalam array
disebut sebagai elemen.
Jadi ini adalah konsep lain ketika Anda memikirkan sebuah array.
Jika saya mengatakan istilah elemen itu berarti saya mengacu
pada item dalam array.
Karena ingat array adalah akan memiliki banyak, banyak nilai yang
berbeda tetapi dengan nama yang sama.
Dan seperti yang kami sebutkan elemen-elemen di array harus bertipe sama,
Anda tidak dapat mencampur dan mencocokkan tipe data.
Anda tidak dapat memiliki array dari 5 int dan 5 long.
Tidak ada yang namanya jomblo array dari beberapa tipe data.
Mendeklarasikan penggunaan array di sebuah program mirip dengan
deklarasi variabel normal.
Yang harus Anda lakukan adalah menentukan nama dan kemudian menggunakan tanda kurung.
Jadi hanya itu perbedaannya, ide tanda kurung siku
ini mengikuti namanya.
Ini contohnya terlihat seperti deklarasi variabel normal, tetapi
apa yang Anda lihat di sini Anda memiliki tanda kurung ini.
Itu satu-satunya hal itu tidak normal, dan ada
nomor di dalamnya.
Angka di dalam kurung sedang menentukan ukuran.
Jadi di sini kami hanya mengatakan kami akan
membuat array bernama nomor tipe panjang itu akan berisi 10 elemen.
Jadi ini cukup mudah.
Ini adalah nomor deklarasi karena titik koma ada di akhir,
itu seperti deklarasi variabel tetapi Anda
memiliki tanda kurung dan nomor, dan ini adalah ukuran array atau dimensi array.
Setelah Anda mendeklarasikan sebuah array, Anda kemudian akan ingin mulai menggunakannya.
Anda akan ingin memulai mengakses
data di dalamnya atau menulis data ke dalamnya.
Untuk melakukan itu, Anda harus untuk memahami bagaimana
array disimpan dalam memori dan bagaimana itu benar-benar akan diakses.
Jadi array dengan masing-masing elemen dalam array, masing-masing item data, mereka diakses
menggunakan nama yang sama.
Jadi Anda masih akan mengakses dengan nama variabel.
Namun, jika Anda ingin yang spesifik nilai dalam sinar itu,
Anda sekarang harus menggunakan sesuatu yang disebut an indeks atau subskrip, kedua istilah ini
digunakan secara bergantian.
Nilai indeks atau subskrip ini adalah akan menjadi angka dan
akan berada di dalam tanda kurung juga untuk mengakses elemen dalam larik
atau langsung ke tempat itu dalam larik, tulis nilai, mengikuti nama array.
Jadi nilai indeks berurutan bilangan bulat yang dimulai dari 0.
Jadi ketika kita berbicara tentang array dan
itu elemen dan kita berbicara tentang indeks dalam array atau subskrip, semua subs itu bisa mulai dari 0.
Ini pada dasarnya mengatakan bahwa sinar mereka berbasis 0.
Jadi nilai indeks untuk elemen dalam an array ukuran 10 akan dari 0 hingga 9.
0 akan mewakili itu elemen array pertama, dan 9 akan merujuk ke yang
terakhir elemen dalam array ukuran 10.
Jadi Anda harus memahami ini konsep array berbasis 0.
Secara intuitif, Anda mungkin berpikir oh saya ingin mengakses
tempat pertama dalam array, oke saya berikan indeks satu, tidak karena mereka mulai dari 0.
Jadi sangat, sangat umum untuk keliru mencoba mengakses array dan mati 1 karena
Anda berpikir bahwa mereka mulai dari satu dan mereka
tidak mulai dari 0.
Ini disebut sebagai off oleh 1 kesalahan.
Anda dapat menggunakan bilangan bulat sederhana untuk secara eksplisit mereferensikan
elemen yang ingin Anda akses.
Misalnya, jika Anda ingin mengakses nilai ke-4 dalam array,
Anda akan mengatakan nama array dan kemudian di dalam kurung Anda akan mengatakan 3.
Jadi nama array sub-3 akan untuk mengakses nilai ke-4
karena nama array berbasis 0.
Jadi Anda hanya perlu menyediakan nomor untuk elemen yang
ingin Anda akses.
Dan lagi, ingat bahwa itu adalah 0 basis.
Jadi untuk mengakses elemen ke-4, itu adalah 3.
Jika Anda ingin mengakses elemen ke-8, Anda melakukan indeks 7.
Anda juga dapat menentukan indeks untuk suatu elemen array dengan menggunakan ekspresi.
Jadi Anda sekarang hanya perlu menggunakan nomor.
Anda dapat menggunakan ekspresi dalam kotak tanda kurung mengikuti nama juga.
Namun ekspresi harus menghasilkan dalam nilai integer, yang sesuai dengan salah satu
nilai indeks yang mungkin.
Jadi jika Anda memiliki array ukuran 10 dan Anda menggunakan
ekspresi, ekspresi itu harus dievaluasi untuk baik 0, angka apa pun dari 0 hingga 9.
Ini sangat umum juga ketika Anda menyimpan elemen dalam array untuk menggunakan loop
untuk mengaksesnya dan kita pergi untuk memberikan contoh itu juga.
Jadi misalnya di sini, kami memiliki for loop dan kami menginisialisasi variabel kontrol loop kami ke 0
I dan kami keluar setelah saya kurang dari 10.
Dan apa yang kita lakukan di sini adalah kita
hanya menampilkan angka dalam array.
Jadi kita katakan printf angka adalah persen d
dan kemudian angka sub-I, saya adalah variabel.
Anda dapat menggunakan variabel dalam a ekspresi variabel selama variabel
itu mewakili angka dari 0 hingga 9, dan dalam hal ini memang demikian.
Ini sangat umum digunakan untuk loop untuk beralih pada
array untuk mengakses elemen atau menulis data ke elemen tersebut.
Jadi untuk meringkas, ini bagus sedikit ilustrasi yang saya temukan.
Ini adalah bagaimana sebuah array terstruktur.
Jika saya memiliki array yang disebut angka, Anda
akan memiliki nama array yang diikuti oleh tanda kurung yang mengidentifikasi elemen
individu dalam array.
Jadi saya bisa mendeklarasikan array hanya dengan menentukan jenis dan nama
dan kemudian menentukan ukuran di dalam tanda kurung.
Dan kemudian ketika saya ingin mengakses itu, saya hanya menggunakan nama array
diikuti dengan nilai indeks.
Dan untuk array yang
memiliki ukuran 10, Anda akan memiliki indeks yang valid dari 0 hingga 9.
Jadi apa yang terjadi jika Anda mencoba mengakses elemen dalam
array dengan indeks yang tidak valid, misalnya mencoba untuk mengakses array ukuran 10 menggunakan 11 sebagai indeks
atau 10 adalah indeks.
Anda akan memiliki array di luar batas kesalahan.
Jadi jika Anda menggunakan ekspresi atau variabel atau konstanta untuk
nilai indeks yang berada di luar range array dan di luar range
array artinya apa?
Yah, itu berarti itu negatif angka atau itu angka yang lebih
besar dari ukuran, benar-benar lebih besar dari ukuran dikurangi satu karena ada 0 basis.
Jadi jika Anda memiliki array ukuran 10, ukuran minus 1, jika lebih besar dari 9, Anda
akan memiliki sebuah array di luar batas kesalahan.
Dan masalah dengan array kesalahan batas, itu
dapat menyebabkan program Anda macet, atau bahkan lebih buruk, itu dapat
menyebabkan program Anda terlihat seperti berjalan normal, tapi kemudian itu tidak bertindak normal.
Jadi tidak menghasilkan hasil yang konsisten.
Terkadang Anda akan memiliki sampah data, data yang tidak berarti
apa-apa dalam array.
Sekali lagi, sangat tidak terduga kapan Anda memiliki serangkaian kesalahan batas.
Dan masalahnya adalah susunannya kesalahan di luar batas tidak dapat
diperiksa oleh kompiler karena kompiler tidak akan tahu apakah
Anda menugaskan sesuatu lebih besar atau jika Anda mengakses sesuatu yang
lebih besar dari ukuran.
Itu masih akan dikompilasi meskipun Anda memiliki area ini
di luar batas kesalahan.
Pada dasarnya susunan batas kesalahan adalah kesalahan runtime.
Anda tidak akan mengetahui ini kesalahan sampai Anda menjalankan program.
Dan lagi itu dapat menyebabkan Anda program menjadi sangat tidak terduga.
Jadi kamu ingin menjadi sangat, sangat mengetahui bagaimana Anda mengakses array, nilai indeks apa
yang Anda miliki menggunakan dan bagaimana Anda menulis data ke array
dengan nilai indeks.
Perhatikan baik-baik indeks array dan juga batas-batasnya.
Jika Anda ingin menulis data ke array, itu sangat, sangat sederhana.
Anda akan melakukan pada dasarnya hanya menggunakan indeks.
Jadi suatu nilai dapat disimpan dalam array elemen hanya dengan menentukan elemen array
di sebelah kiri sisi tanda sama dengan dan kemudian menggunakan tanda
kurung untuk menentukan elemen yang ingin Anda tulis.
Jadi untuk dalam contoh ini, kami memiliki array bernama nilai, kita tidak tahu ukurannya apa, itu pasti
lebih besar dari 100 atau kita akan memiliki kesalahan array di
luar batas di sini.
Tetapi dalam contoh ini, kami mengatakan kelas sub 100 sama dengan 95.
Nilai 95 disimpan di elemen nomor 100 dari
array nilai, sangat sederhana.
Anda cukup menentukan indeks dan kemudian nilai apa pun yang ingin Anda tanda
tangani, Anda lakukan.
Anda juga dapat menggunakan variabel untuk menetapkan nilai ke array.
Jadi 95 dapat disimpan dalam variabel, sama seperti Anda menetapkan variabel lain.
Sekarang mari kita pergi melalui contoh penggunaan array
Berikut ini contoh penggunaan an array yang akan menjumlahkan
membaca dalam 10 angka dan kemudian memberi saya rata-rata dari 10 angka tersebut.
Saat kami membacanya, kami akan menghitung jumlah maka
kita akan menampilkan rata-rata.
Jadi pada titik ini, saya ingin mengambil contoh ini dan
saya ingin memasukkannya ke dalam blok kode dan mencoba menjalankannya melalui dan menunjukkan cara kerjanya.
Kami dalam tampilan normal kami, kami berada di proyek sederhana dan kami akan menunjukkan kepada Anda bagaimana
array bekerja di blok kode.
Anda akan melihat bahwa kami dalam fungsi utama kami.
Ini entrinya arahkan ke program.
Dan di jalur 12, kami mendeklarasikan array.
Kami akan mendeklarasikan array tipe int ukuran 10.
Ukuran ada di dalam kurung, kita akhiri dengan titik koma.
Ini adalah array yang akan menyimpan 10 nilai.
Jika kita tidak memiliki array
ini menyimpan apa yang harus kita lakukan adalah kita harus mengatakan nilai 1 int, nilai 2 int, nilai 3.
Anda lihat betapa bermasalahnya itu dan betapa membosankannya itu.
Senang sekali kita bisa cukup buat satu variabel yang menyimpan
10 item, dan mereka dikelompokkan bersama.
Saat Anda menyimpan item dalam array, Anda tidak ingin nilai
datanya berbeda, semuanya berbeda.
Seperti dalam contoh ini, kami menyimpan nilai, jadi mereka semua nilai.
Anda tidak ingin memberi nama array sesuatu dan kemudian mengatakan
saya akan menyimpan nilai saya, saya akan simpan milikku...
Ku... Ku... apa pun, usia saya di sana dan apa pun.
Pastikan Anda menyimpan jenis yang sama data saat Anda adalah array.
Variabel berikutnya sejalan 13 adalah variabel hitungan.
Ini sama dengan 10.
Ini akan menjadi nomor nilai yang akan dibaca karena kita
akan melalui array.
Jumlahnya panjang, kita akan menjumlahkannya angka-angka saat kita melewati nilai-nilai
dan kemudian rata-rata pergi menjadi float karena kami ingin
mendapatkan rata-rata angka.
Hal pertama yang akan kita lakukan baris 17
adalah kita akan memberi tahu pengguna bahwa kita menginginkannya masukkan 10 nilai dan kemudian
kita akan membaca nilainya.
Jadi pada baris 20 Anda memperhatikan bagaimana saya indentasi
dan saya menggunakan penamaan yang baik, indentasi dan penggunaan pemblokiran yang baik kode untuk blok indentasi kode.
Di sini, di baris 20, saya menyatakan variabel kontrol loop saya.
Saya menjalankan kompiler yang lebih lama, c compiler 89, jadi saya tidak bisa mendeklarasikannya dan
menginisialisasi baris yang sama.
Biasanya, Anda hanya akan melakukan ini.
Tetapi ketika saya melakukannya karena saya sedang berlari Kompiler C89 mendapatkan kesalahan.
Jadi saya mendeklarasikan variabel saya secara online 20, dan kemudian saya menggunakan for loop.
Kami akrab dengan for loop dari kuliah kami sebelumnya memungkinkan Anda
untuk mengulang kode.
Di sini kami hanya mengatakan kami akan memiliki loop for yang dikontrol
ulang, kita akan mulai dari 0 dan kita akan pergi jauh-jauh sampai 10.
Jadi kita akan pergi melalui 10 iterasi, tetapi Anda
melihat indeksnya adalah 0.
Itu penting karena kita akan mengakses array,
menggunakan variabel I itu.
Dan kemudian Anda akan melihat pada akhirnya dari loop for,
kita memodifikasi variabel kontrol loop dengan menaikkannya.
Jadi kita akan mencetak nilai I ditambah 1 saat kami
menelusuri array untuk menunjukkan kepada Anda di mana Anda berada di untuk nomor.
Jadi pada dasarnya akan mengatakan seperti masuk kelas 1 kelas 2 kelas 3 kelas 4.
Ini kemudian akan meminta Anda untuk masukkan di kelas menggunakan scanf.
Kami akan menyimpannya dalam array kami.
Anda akan menyadarinya ketika Anda simpan dalam
array, itu seperti akses variabel normal.
Anda hanya menggunakan nilai, dan maka Anda menentukan index.
Di sini kita menggunakan I sebagai index.
Jadi itu akan sama dengan 0 iterasi pertama, 1 iterasi
kedua, 2 iterasi ketiga.
Dan ada baiknya kita mulai dengan 0 karena array
berbasis 0 dan kemudian kami hanya menggunakan alamatnya operator, ampersand.
Saat kita melewatinya, kita akan menjumlahkan nilai bersama-sama.
Jadi kita akan mengatakan sum sama dengan jumlah ditambah kelas sub I.
Setiap kelas akan pada dasarnya menghitung total.
Dan kemudian begitu kita keluar dari lingkaran setelah berjalan 10
kali, kita akan mengatur rata-rata kita sama dengan jumlah dibagi dengan hitungan dan
melemparkannya ke float, kami casting di sini.
Ini mengubah tipe data.
Ingat, jumlah dibagi jumlah, jumlah apakah itu panjang dan dihitung sebagai int dan kami ingin melemparkannya
ke float.
Dan pada akhirnya, kita akan mencetak rata-rata.
Jadi mari kita lanjutkan dan jalankan ini dan pastikan kami tidak mendapatkan kesalahan, yang kami memiliki 0 kesalahan
dan 0 peringatan.
Jadi sekarang mari kita jalankan.
Dan itu akan berhasil persis apa yang saya sebutkan.
Ini akan mengatakan masukkan 10 nilai dan kemudian ia memberi tanda 1 pada tanda kecil di sana sehingga kita
tahu kita berada di nomor berapa.
Ini akan dimasukkan ke dalam seperti 95 32 55, itu akan masuk dan hanya memasukkan nomor apa
saja di sini.
Mereka belum tentu masuk akal, tidak apa-apa, dan nomor terakhir saya 23.
Rata-rata dari 10 itu nilai akan menjadi 51. 20.
Tapi itu sangat bagus karena kami tidak harus membuat 10 variabel.
Kami mengakses array menggunakan subscript, dan kita dapat menetapkan nilai
ke array menggunakan subscript.
Ini sebenarnya menugaskan ketika kita melakukan scanf.
Kami menugaskan data ke itu untuk subskrip itu.
Sekarang jika kita mengubah ini dan katakan kita mulai dari 1 dan
bukannya menghitung yang mana adalah 10, kami benar-benar mengaturnya sama.
Jadi sebenarnya mari tidak mengubahnya menjadi 1.
Katakanlah kita akan mulai pada 0, tapi sekarang kita akan
pergi ke indeks 10.
Ingat, indeks 10 di luar batas karena ukuran array
adalah 10, tetapi nilai indeksnya adalah 0 berdasarkan sehingga indeks maks adalah 9.
Dan lagi, kita akan bisa untuk mengkompilasi ini
karena kompiler tidak mendeteksi kesalahan di luar batas, masalahnya adalah ketika kita menjalankannya.
Sekarang ketika kita menjalankan program, kita akan memiliki masalah besar kita mencoba
untuk masuk di kelas 11.
Jadi kita akan baik-baik saja.
Ketika kita memasuki 10 kelas, masalahnya akan terjadi ketika
kita mencapai 11.
Sekarang kami memiliki 11, dan kami akan mencoba untuk menyimpan data.
Tidak ada hal buruk yang terjadi, tapi kami rata-rata tidak akan benar.
Dan itu perilaku yang sangat tidak terduga ketika Anda memiliki kesalahan di luar batas.
Jadi Anda ingin memastikan bahwa Anda memiliki hitungan pelajaran mata dan
Anda ingin memastikan bahwa kapan Anda mengakses informasi, Anda tidak keluar
batas juga.
Dan ini adalah dasar dari array, mendeklarasikan
array, menentukan ukuran hanya tipe data dan kemudian ukuran dan tanda kurung, mengakses larik
atau menyimpan data di array, menetapkan nilai, menggunakan
subskrip I di dalam indeks.
Dan kita bahkan bisa mencetak indeks menggunakan subscript juga.
Array akan digunakan cukup sedikit.
Kita akan memiliki banyak contoh dengan array karena menyederhanakan banyak hal.
Ingat saja array adalah ukuran tetap.
Anda tidak dapat mengubah ukuran gradasi.
Itu akan selalu terjadi 10 saat Anda menjalankan program.
Jadi jika Anda menetapkan data apa pun di atas itu, itu tidak akan berkembang.
Dan juga ingat nilai itu harus memiliki tipe data yang sama.
Saya tidak bisa menyimpan string atau kata-kata di kelas, saya hanya bisa menyimpan int.
Saya tidak bisa menyimpan pelampung di di sana, hanya simpan int.
Terima kasih.