Array Multidimensi Dinamis

Daftar Isi

    LancangKuning.com - Array multidimensi adalah array yang berisi satu atau lebih array. Array multidimensi bisa lebih dari dua level. Namun, susunan lebih dari tiga level sulit untuk dikelola. Jumlah indeks yang diperlukan untuk mengakses elemen array berbeda pada dimensi array,

    • Diperlukan dua indeks untuk mengakses elemen array dua dimensi
    • Diperlukan tiga indeks untuk mengakses elemen array tiga dimensi

    Baca juga :Tempat Wisata di Riau 

    Array dinamis multidimensi

    SystemVerilog dynamic array dapat berupa,

    • array reguler
    • array tidak teratur

    array reguler

    Array reguler adalah array multidimensi dengan array anggota dengan ukuran yang sama.

    sebagai contoh,

     array 2-D dengan jumlah kolom yang sama untuk semua baris

    Array tidak teratur

    Array tidak beraturan adalah array multidimensi dengan array anggota dengan ukuran berbeda.

    sebagai contoh,

    Array 2-D dengan jumlah kolom berbeda untuk baris

    Dalam array di bawah ini dengan 3 baris,

    baris 1, 2 dan 3 masing-masing memiliki 2, 1 dan 3 kolom.

    SystemVerilog array tidak teratur

    SystemVerilog array tidak teratur

    Contoh array dinamis 2 dimensi

    Array biasa

    Sebagai contoh menunjukkan deklarasi array, pembuatan, penugasan dan menampilkan elemen array.

    program dynamic_array;

     // deklarasi array dinamis

    bit [7: 0] d_array [] [];

    awal dimulai

    //alokasi memori

    d_array = baru [3];

     foreach (d_array [i])

     d_array [i] = baru [2];

    // memberikan nilai acak ke elemen

    foreach (d_array [i, j]) d_array [i] [j] = $ acak;

    // menampilkan elemen array

    foreach (d_array [i, j])

    $ display ("\ td_aaray [% 0d,% 0d] =% 0d", i, j, d_array [i] [j]);

    Akhir

    Baca juga : Dasar Dasar Visual Basic

    Pelajaran ini opsional, untuk pembaca tingkat lanjut yang ingin mempelajari lebih lanjut tentang C ++. Tidak ada pelajaran di masa depan yang membangun pelajaran ini.

    Penunjuk ke penunjuk persis seperti yang Anda harapkan: penunjuk yang menyimpan alamat penunjuk lain.

    Pointer ke pointer

    Pointer normal ke int dinyatakan menggunakan tanda bintang tunggal:

    int * ptr; // arahkan ke int, satu asterisk

    Pointer ke pointer ke int dinyatakan menggunakan dua tanda bintang

    int ** ptrptr; // penunjuk ke penunjuk ke int, dua tanda bintang

    Sebuah pointer ke sebuah pointer berfungsi seperti halnya pointer normal - Anda dapat melakukan referensi untuk mengambil nilai yang ditunjuk. Dan karena nilai itu sendiri adalah sebuah pointer, Anda dapat melakukan dereferensi lagi untuk mendapatkan nilai yang mendasarinya. Dereferensi ini dapat dilakukan secara berurutan:

    nilai int = 5;

    int * ptr = & nilai;

    std :: cout << * ptr; // pointer dereference ke int untuk mendapatkan nilai int

    int ** ptrptr = & ptr;

    std :: cout << ** ptrptr; // dereference pertama untuk mendapatkan pointer ke int, dereference kedua untuk mendapatkan nilai int

    Program di atas mencetak:

    Perhatikan bahwa Anda tidak dapat menetapkan pointer ke pointer langsung ke nilai:

    nilai int = 5;

    int ** ptrptr = && nilai; // tidak valid

    Ini karena alamat operator (operator &) membutuhkan nilai lv, tetapi nilai adalah nilai.

    Namun, pointer ke pointer dapat diatur ke nol:

    int ** ptrptr = nullptr; // gunakan 0 sebagai ganti sebelum C ++ 11

    Baca juga : Tempat Wisata di Pekanbaru

    Array pointer

    Pointer ke pointer memiliki beberapa kegunaan. Penggunaan yang paling umum adalah mengalokasikan array pointer secara dinamis:

    int ** array = new int * [10]; // alokasikan array 10 pointer int

    Ini berfungsi seperti array standar yang dialokasikan secara dinamis, kecuali elemen array bertipe “pointer to integer” dan bukan integer.

    Melewati sebuah pointer berdasarkan alamat

    Sama seperti kita dapat menggunakan parameter pointer untuk mengubah nilai aktual dari argumen dasar yang diteruskan, kita dapat meneruskan pointer ke pointer ke fungsi dan menggunakan pointer itu untuk mengubah nilai pointer yang ditunjuknya (masih bingung?) .

    Namun, jika kita ingin suatu fungsi dapat memodifikasi apa yang ditunjukkan oleh argumen pointer, ini biasanya lebih baik dilakukan dengan menggunakan referensi ke pointer.(Putra)

    Bagikan Artikel

    data.label
    data.label
    data.label
    data.label
    Beri penilaian untuk artikel Array Multidimensi Dinamis
    Sangat Suka

    0%

    Suka

    0%

    Terinspirasi

    0%

    Tidak Peduli

    0%

    Marah

    0%

    Komentar