Perbezaan Antara Pointer dan Array

Anonim

Pointer vs Array

Penunjuk ialah jenis data yang memegang rujukan ke lokasi memori (iaitu 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 dalam array. <

Apa itu Penunjuk?

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

Apa Array?

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

nilai int [5]; Nilai

[0] = 100; Nilai

[1] = 101; Nilai

[2] = 102;

nilai [3] = 103;

nilai [4] = 104;

100

102

103 104 Indeks: 0 1 2 < 3
4 Rajah 2: Array yang tersimpan dalam memori Kod di atas mentakrifkan satu array yang boleh menyimpan 5 bilangan bulat dan mereka diakses dengan menggunakan indeks 0 hingga 4. Satu sifat penting bagi sesuatu array ialah, keseluruhan array diperuntukkan sebagai satu blok memori dan setiap elemen mendapat ruang sendiri dalam array. Setelah array ditakrifkan, saiznya ditetapkan. Oleh itu, jika anda tidak pasti mengenai 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 ingatan di mana beberapa data disimpan, manakala Array adalah struktur data yang paling sering digunakan untuk menyimpan kumpulan elemen. Dalam bahasa pengaturcaraan C, pengindeksan array dilakukan menggunakan aritmetik penunjuk (i. Unsur ith dari array x adalah 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 keseluruhan saiz array, sedangkan apabila diterapkan pada penunjuk, ia akan kembali hanya ukuran penunjuk.