Array adalah kelompok berturut-turut lokasi memori yang semua memiliki
nama yang sama dan jenis yang sama. Untuk merujuk ke lokasi tertentu
atau elemen dalam array, kita tentukan nama array dan nomor elemen array
posisi.
Elemen individual array diidentifikasi dengan menggunakan indeks. Array
memiliki batas atas dan bawah dan elemen-elemen harus terletak dalam
batas-batas tersebut. Setiap nomor indeks dalam array dialokasikan ruang
memori individu dan karena itu pengguna harus menghindari
mendeklarasikan array dari ukuran yang lebih besar daripada yang
dibutuhkan. Kita dapat mendeklarasikan array dari salah satu tipe data
dasar termasuk varian, -ditetapkan jenis pengguna dan variabel obyek.
Elemen individual dari array adalah semua tipe data yang sama.
Mendeklarasikan array
Array menempati ruang memori. Pemrogram menentukan tipe array dan jumlah
elemen yang dibutuhkan oleh array sehingga kompilator dapat cadangan
jumlah yang sesuai dari memori. Array dapat dinyatakan sebagai
Masyarakat (dalam kode modul), modul atau lokal. Modul array
dideklarasikan dalam deklarasi umum menggunakan kata kunci Dim atau
Private. array Lokal dinyatakan dalam prosedur menggunakan Dim atau
statis. Array harus dideklarasikan secara eksplisit dengan kata kunci
"Sebagai".
Ada dua jenis array dalam Visual Basic yaitu:
Fixed-ukuran array: Ukuran array selalu tetap ukuran-sama tidak berubah selama eksekusi program.
Dynamic array: Ukuran array dapat diubah pada waktu perubahan ukuran berjalan selama pelaksanaan program.
Berukuran tetap Array
Ketika batas atas ditentukan dalam deklarasi itu, array-Fixed dibuat.
Batas atas harus selalu berada dalam kisaran tipe data lama.
Mendeklarasikan array-tetap
Dim angka (5) As Integer
Dalam ilustrasi di atas, angka adalah nama dari array, dan angka 6
termasuk dalam kurung adalah batas atas array. Pernyataan di atas
membuat sebuah array dengan 6 elemen, dengan nomor indeks berjalan dari 0
hingga 5.
Jika kita ingin menentukan batas bawah, maka tanda kurung harus mencakup
batas bawah dan atas bersama dengan Untuk kata kunci. Contoh untuk ini
diberikan di bawah ini.
Dim angka (1 To 6) As Integer
Dalam pernyataan di atas, sebuah array dari 10 elemen dinyatakan tetapi dengan indeks berjalan dari 1 sampai 6.
Sebuah array publik dapat dideklarasikan menggunakan kata kunci Umum Dim bukan seperti yang ditunjukkan di bawah ini.
Publik nomor (5) As Integer
Multidimensional Array
Array dapat memiliki beberapa dimensi. Penggunaan umum dari array
multidimensi adalah merupakan tabel nilai-nilai yang terdiri dari
informasi yang diatur dalam baris dan kolom. Untuk mengidentifikasi
elemen tabel tertentu, kita harus menentukan dua indeks: Yang pertama
(oleh konvensi) mengidentifikasi elemen baris dan kolom elemen yang
kedua (oleh konvensi) mengidentifikasi.
Tabel atau array yang membutuhkan dua indeks untuk mengidentifikasi
elemen tertentu disebut array dua dimensi. Perhatikan bahwa array
multidimensi dapat memiliki lebih dari dua dimensi. Visual Basic
mendukung setidaknya 60 dimensi array, tapi kebanyakan orang akan perlu
menggunakan lebih dari dua atau tiga dimensi-array.
Pernyataan berikut mendeklarasikan array dua dimensi 50 dengan 50 array dalam prosedur.
Dim AvgMarks (50, 50)
Hal ini juga memungkinkan untuk menetapkan batas yang lebih rendah untuk
salah satu atau kedua dimensi sebagai untuk array ukuran tetap. Contoh
untuk ini diberikan di sini.
Dim Marks (101 Untuk 200, 1 Untuk 100)
Contoh untuk tiga array dimensi-dengan batas yang lebih rendah pasti diberikan di bawah ini.
Dim Rincian (101 Untuk 200, 1 Untuk 100, 1 Untuk 100)
Statis dan array dinamis
Pada dasarnya, Anda dapat membuat baik array statis atau dinamis. array
statis harus mencakup sejumlah tetap item, dan jumlah ini harus
diketahui pada waktu kompilasi sehingga kompilator dapat menyisihkan
jumlah memori yang diperlukan. Anda membuat array statis menggunakan
pernyataan Dim dengan argumen yang konstan:
'Ini adalah array statis.
Dim Nama (100) As String
Visual Basic indeks array dimulai dengan 0. Oleh karena itu, array sebelumnya benar-benar memegang 101 item.
Kebanyakan program tidak menggunakan array statis karena jarang
programmer tahu pada waktu kompilasi berapa banyak item yang Anda
butuhkan dan juga karena array statis tidak dapat diubah ukurannya
selama eksekusi. Kedua permasalahan ini diselesaikan dengan array
dinamis. Anda menyatakan dan membuat array dinamis dalam dua langkah
yang berbeda. Secara umum, Anda mendeklarasikan array untuk
memperhitungkan visibilitas (misalnya, pada awal modul jika Anda ingin
membuatnya terlihat oleh semua prosedur dari modul) menggunakan perintah
Dim dengan pasangan kosong dari kurung. Kemudian Anda membuat sebuah
array saat Anda benar-benar membutuhkannya, menggunakan pernyataan
ReDim:
'Sebuah array didefinisikan dalam modul BAS (dengan lingkup Swasta)
Dim Pelanggan () As String
...
Sub Main ()
'Di sini Anda membuat array.
ReDim Pelanggan (1000) As String
End Sub
Jika Anda membuat sebuah array yang lokal untuk prosedur, Anda dapat melakukan segala sesuatu dengan pernyataan ReDim tunggal:
Sub PrintReport ()
'Array ini hanya akan terlihat prosedur.
ReDim Pelanggan (1000) As String
'...
End Sub
Jika Anda tidak menentukan indeks lebih rendah dari sebuah array, Visual
Basic mengasumsikan itu menjadi 0, kecuali sebuah Option Base 1
pernyataan ditempatkan pada awal modul. Saran saya adalah ini: Jangan
gunakan pernyataan Option Base karena membuat ulang kode lebih sulit.
(Anda tidak dapat memotong dan rutinitas paste tanpa khawatir tentang
Option Base saat ini.) Jika Anda ingin secara eksplisit menggunakan
indeks lebih rendah berbeda dari 0, gunakan sintaks ini sebagai
gantinya:
ReDim Pelanggan (1 To 1000) As String
Dynamic array dapat diciptakan kembali di akan, setiap kali dengan nomor
yang berbeda dari item. Bila Anda kembali membuat array dinamis, isinya
direset ke 0 (atau string kosong) dan Anda kehilangan data yang berisi.
Jika Anda ingin mengubah ukuran array tanpa kehilangan isinya, gunakan
perintah ReDim Preserve:
ReDim Preserve Pelanggan (2000) As String
Ketika Anda mengubah ukuran array, Anda tidak dapat mengubah jumlah
dimensinya maupun jenis nilai-nilai yang dikandungnya. Selain itu,
ketika Anda menggunakan ReDim Preserve pada array multidimensi, Anda
dapat mengubah ukuran hanya dimensi terakhir:
ReDim Sel (1 Untuk 100, 10) As Integer
...
ReDim Preserve Sel (1 Untuk 100, 20) Seperti ini Integer 'bekerja.
ReDim Preserve Sel (1 Untuk 200, 20) As Integer 'Ini tidak.
Akhirnya, Anda dapat menghancurkan sebuah array menggunakan statement
Erase. Jika array dinamis, Visual Basic membebaskan memori yang
dialokasikan untuk unsur-unsurnya (dan Anda tidak dapat membaca atau
menulis mereka lagi), jika array yang statis, elemen perusahaan diatur
ke 0 atau string kosong.
Anda dapat menggunakan LBound dan fungsi UBound untuk mengambil indeks
bawah dan atas. Jika array memiliki dua atau lebih dimensi, Anda harus
lulus argumen kedua untuk fungsi-fungsi ini untuk menentukan dimensi
yang Anda butuhkan:
Cetak LBound (Sel, 1) 'Menampilkan 1, lebih rendah indeks 1 dimensi
Cetak LBound (Sel) 'Sama seperti di atas
Cetak UBound (Sel, 2) 'Menampilkan 20, indeks atas 2 dimensi
'Evaluasi jumlah elemen.
NumEls = (UBound (Sel) LBound _ (Sel) + 1) * _
(UBound (Sel, 2) _ LBound (Sel, 2) + 1)
Array dalam UDTs
struktur UDT dapat mencakup baik array statis dan dinamis. Berikut adalah struktur sampel yang mengandung kedua jenis:
Jenis MyUDT
StaticArr (100) As Long
DynamicArr () As Long
Akhir Jenis
...
Dim UDT sebagai MyUDT
'Anda harus Dimensi array dinamis sebelum menggunakannya.
ReDim udt.DynamicArr (100) As Long
'Anda tidak perlu melakukan itu dengan array statis.
udt.StaticArr (1) = 1234
0 komentar:
Posting Komentar