Perbezaan Antara Array dan Pointer

Isi kandungan:

Anonim

The perbezaan utama antara tatasusunan dan penunjuk ialah bahawa array adalah struktur data yang menyimpan koleksi elemen dengan jenis data yang sama sementara pointer adalah pemboleh ubah yang menyimpan alamat pemboleh ubah lain dalam memori komputer.

Array dan pointer adalah dua konsep yang digunakan dalam bahasa pengaturcaraan seperti C dan C ++. Array adalah kumpulan data yang menyimpan sejumlah nilai tetap dari jenis data yang sama. Contohnya, untuk menyimpan markah 10 pelajar, pengaturcara dapat membuat susunan yang dapat menyimpan 10 bilangan bulat. Sebaliknya, penunjuk adalah pemboleh ubah yang menyimpan alamat pemboleh ubah lain. Penunjuk membantu mengakses memori dan memanipulasi alamat memori.

Array, Penunjuk

Apa itu Array

Susunan adalah struktur data yang menyimpan sejumlah elemen tetap dengan jenis yang sama. Semua elemen array berada di lokasi memori bersebelahan.

Gambar 1: Array

Andaikan bahawa anda perlu menyimpan nilai 50 bilangan bulat. Adalah mungkin untuk membuat pemboleh ubah untuk setiap bilangan bulat tetapi sukar dan lebih memakan masa. Array boleh digunakan untuk mengatasi masalah ini.

nombor int [50];

Pernyataan di atas akan memperuntukkan array yang disebut nombor, yang dapat menyimpan lima puluh bilangan bulat. Elemen tertentu dari array dapat dinilai menggunakan indeks. Indeks permulaan adalah 0. Oleh kerana terdapat 50 elemen dalam array, elemen terakhir mempunyai indeks 49.

nombor [1] = 30;

Pernyataan di atas akan memberikan nilai 30 kepada 1st indeks bagi nombor.

Contohnya, purata berganda [10]; akan membuat tatasusunan yang disebut rata-rata. Ia dapat menyimpan 10 nilai ganda.

Susunan lebih mudah dibuat dan lebih mudah untuk mengakses elemen. Sebaliknya, susunan mempunyai ukuran tetap. Sekiranya ukuran array 10, ia tidak dapat digunakan untuk menyimpan 20 elemen. Dengan kata lain, peruntukan memori untuk array adalah statik.

Apa itu Pointer

Pemboleh ubah adalah lokasi memori untuk menyimpan nilai. Setiap lokasi memori mempunyai alamat untuk mengenalinya.

Gambar 2: Penunjuk

Penunjuk adalah pemboleh ubah yang menyimpan alamat pemboleh ubah lain. Penunjuk dinyatakan sebelum menyimpan alamat berubah-ubah. Tanda bintang * digunakan untuk menyatakan penunjuk.

int * ptr;

Ptr adalah penunjuk kepada pemboleh ubah integer.

berganda * ptr1;

Ptr1 adalah penunjuk kepada pemboleh ubah berganda. Rujuk kod berikut.

Gambar 3: Program dengan Penunjuk

Pemboleh ubah ‘a’ mengandungi nilai 20. Ptr adalah penunjuk kepada bilangan bulat. Pada baris 8, ptr ditugaskan dengan alamat pemboleh ubah a. Sekarang ptr menunjuk ke a. Oleh itu, mencetak nilai yang ditunjukkan oleh ptr akan memberikan nilai a.

Sekiranya tidak ada alamat yang akan diberikan, penunjuk dapat diberikan dengan nilai NULL. Penunjuk jenis ini dipanggil penunjuk null.

int * ptr = NULL;

Hubungan Antara Array dan Penunjuk

Rujuk program di bawah.

Gambar 4: Susunan dengan Penunjuk

Terdapat tatasusunan yang disebut arr. Ia mengandungi 5 bilangan bulat. Ptr adalah penunjuk kepada bilangan bulat. Pada baris 8, arr ditugaskan untuk ptr. Oleh itu, ptr menunjuk ke elemen indeks ke-0 dari array. Mencetak nilai ptr akan memaparkan nilai 0ika elemen indeks. Ia adalah 10.

Perbezaan Antara Array dan Pointer

Definisi

Array adalah struktur data yang terdiri daripada kumpulan elemen yang masing-masing dikenal pasti oleh indeks array. Pointer adalah objek bahasa pengaturcaraan yang menyimpan alamat memori nilai lain yang terletak di memori komputer.

Asas

Walaupun array merujuk kepada sekumpulan elemen data, penunjuk adalah pemboleh ubah yang menunjuk ke beberapa lokasi memori lain.

Sintaks

Sintaks array - jenis data arrayName [jenis data];

Sintaks penunjuk - jenis data * nama_ubah;

Penggunaan

Walaupun tatasusunan dapat digunakan untuk mengalokasikan memori ukuran tetap (memori statik), penunjuk dapat digunakan untuk peruntukan memori dinamik.

Kesimpulannya

Susunan dan penunjuk dua istilah adalah dua konsep pengaturcaraan. Perbezaan antara array dan pointer adalah bahawa array adalah struktur data yang menyimpan koleksi elemen jenis data yang sama sementara pointer adalah pemboleh ubah yang menyimpan alamat pemboleh ubah lain dalam memori komputer.

Rujukan:

1. "Susunan di C." Www.tutorialspoint.com, Tutorial Point, Terdapat di sini.2. "Petunjuk dalam C." Www.tutorialspoint.com, Tutorial Point, Terdapat di sini.

Gambar Kesopanan:

1. "CPT-pengaturcaraan-array" Oleh Pluke - Karya sendiri (CC0) melalui Wikimedia Commons2. "Penunjuk" Oleh fail ini dibuat oleh Pengguna: SvenTranslation Kerja sendiri (CC BY-SA 3.0) melalui Wikimedia Commons

Perbezaan Antara Array dan Pointer