Susunan adalah salah satu bentuk penyimpanan data yang paling kerap digunakan semasa operasi program. Mereka membolehkan anda menyusun elemen jenis yang sama mengikut urutan dan mendapatkan akses pantas ke dalamnya mengikut indeks. Selalunya, semasa mengembangkan aplikasi dalam bahasa pengaturcaraan yang kuat dan fleksibel yang membolehkan akses memori langsung, seperti C ++, anda perlu menentukan ukuran array.
Perlu
Penyusun C ++
Arahan
Langkah 1
Tentukan ukuran array pada masa kompilasi dengan menghitungnya menggunakan ukuran operator. Operator ini mengembalikan jumlah memori (dalam bait) yang ditempati oleh argumen yang disampaikan kepadanya. Argumen boleh berupa pemboleh ubah atau pengecam jenis. Operator sizeof mengembalikan jumlah memori yang terbatas yang ditempati oleh objek pada tahap pelaksanaan program (dengan mempertimbangkan, misalnya, pengaturan untuk penjajaran medan struktur), tetapi pengiraannya dilakukan pada tahap penyusunan.
Langkah 2
Untuk menentukan ukuran array menggunakan ukuran operator, bahagikan keseluruhan ukurannya dengan ukuran satu elemen. Contohnya, jika anda mempunyai definisi array berikut: int aTemp = {10, 20, 0xFFFF, -1, 16}, maka ukurannya dapat dikira sebagai: int nSize = sizeof (aTemp) / sizeof (aTemp [0]);
Langkah 3
Untuk penggunaan kaedah ini dengan lebih mudah, masuk akal untuk menentukan makro: #define countof (a) (sizeof (a) / sizeof (a [0])) Perhatikan bahawa kerana nilai operator size dikira pada kompilasi masa, pada titik, di mana pengiraan dilakukan, maklumat mengenai jumlah array dan unsur-unsurnya mesti tersedia secara jelas. Dengan kata lain, mustahil untuk menentukan parameter pelbagai ukuran yang tidak diketahui oleh deklarasi luarannya.
Langkah 4
Tentukan ukuran array semasa pelaksanaan program, menggunakan tanda penamatannya yang diketahui. Salah satu pendekatan yang memungkinkan untuk menyimpan dan menghantar data dalam bentuk tatasusunan yang panjangnya tidak tentu adalah dengan memperuntukkan nilai khas untuk tanda yang menunjukkan penyelesaian urutan data. Contohnya, rentetan gaya C byte tunggal yang merupakan susunan watak mesti diakhiri dengan nilai 0, susunan rentetan C panjang berubah-ubah dibungkus dengan sifar, dan tatasusunan penunjuk mesti dihentikan nol.
Langkah 5
Untuk menentukan ukuran array yang ditunjukkan dengan cara ini, imbas elemen demi elemen sehingga anda menemui elemen penamatan. Tingkatkan pembilang yang dimulakan sifar semasa imbasan. Atau, tingkatkan nilai penunjuk ke elemen array, dan setelah mengimbas, hitung perbezaan antara penunjuk ke elemen semasa dan pertama.
Langkah 6
Dapatkan ukuran array dinamik yang diwakili oleh kerangka atau objek perpustakaan dengan memanggil kaedahnya. Mana-mana kelas yang merangkumi fungsi susunan sedemikian mempunyai kaedah untuk mendapatkan bilangan elemen semasa. Sebagai contoh, kelas templat std:: vektor perpustakaan standard C ++ mempunyai kaedah ukuran, kelas QVector Qt framework mempunyai kaedah kiraan, dan kelas CArray analog MFC mempunyai kaedah GetCount.