1-D arrays: store, index, and traverse · Array 1-D: simpan, indeks, dan jelajahi
A row of boxes
- An array is a row of variables of the same type, kept side by side in memory.
int a[5];makes room for fiveints. They are one block, reached by number.- You can fill them when you create them:
int a[] = {10, 20, 30};makes an array of three.
Baris kotak-kotak
- Array adalah deretan variabel bertipe sama, disimpan berdampingan dalam memori.
int a[5];menyiapkan ruang untuk limaint. Mereka merupakan satu blok, diakses melalui angka.- Anda dapat mengisinya saat membuat:
int a[] = {10, 20, 30};membuat array berisi tiga elemen.
Indexing from 0
- Each item has an index (a position). The first index is
0, not1. a[0]is the first item,a[1]the second, anda[n - 1]is the last in an array ofnitems.- Reading or writing outside the array (like
a[5]in a 5-item array) is a serious bug.
Indeks dimulai dari 0
- Setiap item memiliki indeks (posisi). Indeks pertama adalah
0, bukan1. a[0]adalah item pertama,a[1]adalah kedua, dana[n - 1]adalah terakhir dalam arraynitem.- Membaca atau menulis di luar array (seperti
a[5]pada array 5 item) adalah bug serius.
Traversing with a loop
- To visit every item, run an index from
0up ton - 1with aforloop. - Inside the loop, use
a[i]to read or change the item at positioni. - This is how you sum, count, or search an array.
Menelusuri dengan perulangan
- Untuk mengunjungi setiap item, jalankan indeks dari
0hinggan - 1menggunakan perulanganfor. - Di dalam perulangan, gunakan
a[i]untuk membaca atau mengubah item pada posisii. - Inilah cara Anda menjumlahkan, menghitung, atau mencari dalam array.
Arrays don't know their own length
- An array does not carry its own size. A function cannot ask "how long are you?".
- So you always pass the length next to the array:
sum(a, n). - Use
const int a[]in a parameter to promise you will only read the array, not change it.
Array tidak mengetahui panjangnya sendiri
- Array tidak membawa ukuran dirinya sendiri. Fungsi tidak dapat bertanya "berapa panjangmu?"
- Jadi Anda selalu meneruskan panjang di samping array:
sum(a, n). - Gunakan
const int a[]pada parameter untuk menjanjikan bahwa Anda hanya akan membaca array, bukan mengubahnya.
#include <stdio.h>
int main(void) {
int a[] = {10, 20, 30, 40};
int n = 4, total = 0;
for (int i = 0; i < n; i++) {
total += a[i];
}
printf("%d\n", total); // 100
return 0;
}
Common mistakes
- C does NOT check array bounds:
a[n]in a size-narray is undefined. - Valid indexes run
0ton - 1.
Kesalahan umum
- C TIDAK memeriksa batas array:
a[n]pada array berukurannadalah perilaku tak terdefinisi. - Indeks valid berjalan dari
0hinggan - 1.
Now you try
- Pass both the array and its length
n, and loop the index from0ton - 1. - For the function tasks, do not write a
main— the checker provides one.
Sekarang Anda coba
- Teruskan baik array maupun panjangnya
n, dan putar indeks dari0hinggan - 1. - Untuk tugas fungsi, jangan menulis
main— checker menyediakannya.
Arrays are indexed · Array berindeks
An array stores values in order; reach one with a[i]. · Array menyimpan nilai secara berurutan; capai satu dengan a[i].
The array a and its length n are given. In main, add up all n items and print the total on its own line. · Array a dan panjangnya n diberikan. Di dalam main, jumlahkan semua item n dan cetak totalnya pada baris tersendiri.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
Complete int sum(const int a[], int n) so it returns the total of the array's n items (0 when n is 0). Do not write a main. · Lengkapi int sum(const int a[], int n) agar mengembalikan total dari item-array n (0 ketika n adalah 0). Jangan tulis main.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
Complete void double_all(int a[], int n) so it doubles every item of the array, in place (no return value). Do not write a main. · Lengkapi void double_all(int a[], int n) agar mengalikan dua setiap item array secara in-place (tanpa nilai pengembalian). Jangan tulis main.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.