Perbezaan Antara Pointer dan Array

Pointer vs Array

Penunjuk adalah jenis data yang memegang rujukan ke lokasi memori (iaitu variabel pembolehubah penunjuk menyimpan alamat lokasi ingatan di mana beberapa data disimpan). Array adalah struktur data yang paling biasa digunakan untuk menyimpan koleksi elemen. Kebanyakan bahasa pengaturcaraan menyediakan kaedah untuk mengisytiharkan unsur-unsur tatasusunan dan akses dengan mudah di dalam tatasusunan.

Apakah penunjuk??

Penunjuk ialah jenis data yang menyimpan alamat lokasi memori di mana beberapa data disimpan. Dalam erti kata lain, penunjuk memegang rujukan ke lokasi ingatan. Mengakses data yang disimpan di lokasi memori yang dirujuk oleh penunjuk disebut dereferencing. Apabila menjalankan operasi berulang seperti melintasi pokok / rentetan, mencari meja, dan lain-lain, menggunakan petunjuk akan meningkatkan prestasi. Ini adalah kerana dereferencing dan pointing menyalin adalah lebih murah daripada sebenarnya menyalin dan mengakses data yang ditunjukkan oleh petunjuk. Penunjuk null adalah penuding yang tidak menunjukkan apa-apa. Di Jawa, mengakses pointer null akan menjana pengecualian yang disebut NullPointerException.

Apakah Array itu??

Ditunjukkan dalam angka 1, adalah sekeping kod yang biasanya digunakan untuk mengisytiharkan dan memberikan nilai kepada array. Rajah 2 menggambarkan bagaimana tatasusunan kelihatan seperti dalam ingatan.

nilai int [5];

nilai [0] = 100;

nilai [1] = 101;

nilai [2] = 102;

nilai [3] = 103;

nilai [4] = 104;

Rajah 1: Kod untuk mengisytiharkan dan menyerahkan nilai kepada tatasusunan


100 101 102 103 104
Indeks: 0 1 2 3 4

Rajah 2: Array yang disimpan dalam memori

Kod di atas mentakrifkan satu array yang boleh menyimpan 5 bilangan bulat dan mereka diakses menggunakan indeks 0 hingga 4. Satu sifat penting bagi suatu array ialah, keseluruhan array diperuntukkan sebagai satu blok memori dan setiap elemen mendapat ruang sendiri dalam array . Setelah array ditakrifkan, saiznya ditetapkan. Jadi, jika anda tidak pasti tentang saiz array pada masa penyusunan, anda perlu menentukan array yang cukup besar untuk berada di bahagian yang selamat. Tetapi, kebanyakan masa, kita sebenarnya akan menggunakan kurang bilangan unsur daripada yang kita peruntukkan. Oleh itu, sejumlah besar memori sebenarnya sia-sia. Sebaliknya jika "array yang cukup besar" tidak cukup besar, program itu akan terhempas.

Apakah perbezaan antara Petunjuk dan Array??

Penunjuk ialah jenis data yang menyimpan alamat lokasi memori di mana beberapa data disimpan, manakala Array adalah struktur data yang paling sering digunakan untuk menyimpan kumpulan unsur. Dalam bahasa pengaturcaraan C, pengindeksan array dilakukan menggunakan aritmetik penunjuk (iaitu elemen elemen ith dari x akan bersamaan dengan * (x + i)). Oleh itu, dalam C, set petunjuk yang menunjukkan satu set lokasi memori yang berturut-turut, boleh dianggap sebagai tatasusunan. Selanjutnya, terdapat perbezaan bagaimana pengendali sizeof beroperasi pada petunjuk dan tatasusunan. Apabila diterapkan pada tatasusunan, pengendali sizeof akan mengembalikan seluruh saiz array, sedangkan apabila diterapkan pada penunjuk, ia akan kembali hanya ukuran penunjuk.