Apakah Alamat Memori dalam Pengaturcaraan C dan Bagaimana untuk Mencarinya?

Apakah Alamat Memori Dalam Pengaturcaraan C Dan Bagaimana Untuk Mencarinya



Istilah 'alamat ingatan' dalam C pengaturcaraan merujuk kepada kedudukan dalam memori komputer di mana data disimpan. Dalam istilah yang dipermudahkan, a alamat ingatan adalah seperti alamat jalan yang membantu komputer mengakses maklumat yang disimpan dengan lebih cepat. Untuk memahami cara data disimpan dalam memori komputer, anda mesti memahami alamat ingatan dalam C. Adalah penting untuk memahami konsep alamat ingatan dalam C kerana ia penting dalam mewujudkan program yang cekap.

Apakah Alamat Memori?

A alamat ingatan ialah nombor perenambelasan yang mengenal pasti lokasi data atau arahan program dalam ingatan komputer dan boleh menjadi sukar bagi pemula untuk memahami. Untuk terus membaca dan mengubah suai alamat ingatan , petunjuk diperlukan. Untuk mencari alamat pembolehubah, gunakan operator ampersand '&'. Terdapat pembolehubah penunjuk di mana alamat disimpan.

Memahami bagaimana memori disusun adalah penting untuk mendapatkan pemahaman yang lebih mendalam alamat ingatan . Bait membentuk memori dalam pengaturcaraan C, dan alamat menunjukkan di mana setiap permulaan bait berada. Dengan kata lain, setiap bait dalam ingatan mempunyai keunikan alamat ingatan . Pembolehubah yang menyimpan nombor menggunakan jumlah ruang memori tertentu dalam bait, dan alamat ingatan sepadan dengan bait awal pembolehubah.







Bagaimana untuk mencari alamat memori?

Terdapat dua cara kita boleh mencari a alamat ingatan dalam Bahasa Pengaturcaraan C.



Kaedah 1: Menggunakan Operator ‘&’

Operator '&' atau simbol ampersand dalam pengaturcaraan C boleh digunakan untuk mencari pembolehubah alamat ingatan . Operator ini mendapatkan semula alamat pembolehubah dalam program. Lihat contoh di bawah untuk mendapatkan pemahaman yang lebih baik tentang kaedah ini.



#include

int utama ( ) {

int pada satu = 40 ;

printf ( 'Nilai num ialah %d \n ' , pada satu ) ;

printf ( 'Alamat ingatan num ialah %p \n ' , & pada satu ) ;

kembali 0 ;

}

Dalam kod di atas, pembolehubah integer 'pada satu' dengan nilai 40 ditakrifkan. Nilai 'pada satu' dan yang alamat ingatan kemudiannya dicetak menggunakan printf() fungsi dan penentu format %d dan %p, masing-masing. The '&pada satu' ungkapan mengembalikan alamat ingatan daripada num, yang kemudiannya ditunjukkan menggunakan penentu format %p dalam format heksadesimal.





Pengeluaran



Catatan: Kaedah yang sama boleh diikuti untuk mencari alamat titik terapung atau pembolehubah jenis rentetan dalam pengaturcaraan C.

Kaedah 2: Menggunakan Penunjuk

Dalam pengaturcaraan C, ia juga mungkin untuk menentukan alamat ingatan menggunakan penunjuk. Alamat kawasan memori disimpan dalam jenis data tertentu yang dipanggil penunjuk dalam bahasa C. Ia sering digunakan dalam C untuk memanipulasi memori komputer. Untuk mencari alamat ingatan dalam pengaturcaraan C menggunakan penunjuk, ikuti langkah yang diberikan di bawah:

Langkah 1: Langkah awal dalam mencari a alamat ingatan adalah untuk mencipta pembolehubah penunjuk. Untuk mencipta pembolehubah penunjuk dalam C, nama pembolehubah didahului dengan an tanda asterisk (*) . Kod di bawah menerangkan cara membina “ptr” pembolehubah penunjuk.

int * ptr ;

Catatan: Lokasi memori pembolehubah yang disimpan dalam pembolehubah penunjuk ditunjukkan oleh tanda asterisk (*) . Proses ini dipanggil dereferencing.

Langkah 2: Pembolehubah penunjuk kemudian akan diberikan lokasi dalam ingatan. The alamat ingatan pembolehubah sedia ada diberikan kepada pembolehubah penunjuk menggunakan '&' pengendali. Berikut adalah contoh mudah:

int adalah = 5 ;

int * ptr = & adalah ;

Contoh berikut menunjukkan a alamat ingatan dalam C menggunakan a penunjuk .

#include

int utama ( ) {

int nombor = 100 ;

int * ptr = & nombor ;

printf ( 'Alamat Memori pembolehubah nombor: %p \n ' , ptr ) ;

kembali 0 ;

}

Kod di atas mengisytiharkan pembolehubah penunjuk ptr untuk menunjuk ke alamat pembolehubah integer nombor dengan nilai 100. The printf() fungsi kemudiannya digunakan untuk mencetak alamat ingatan daripada nombor menggunakan penentu format %p, yang mencetak alamat memori dalam format heksadesimal.

Pengeluaran

Adalah penting untuk diingat bahawa alamat ingatan berubah bergantung pada sistem pengendalian kod sedang dijalankan. The alamat ingatan dikembalikan pada setiap sistem akan berbeza, contohnya, jika kod yang sama dijalankan pada dua komputer berasingan. Oleh itu, adalah disyorkan untuk beroperasi dengan alamat memori relatif dan bukannya pengekodan keras alamat ingatan dalam kod.

Kesimpulan

Dalam pengaturcaraan C, alamat ingatan adalah penting untuk mengubah suai dan mengakses data. Agar pengaturcaraan berjaya, adalah penting untuk memahami cara mencari alamat ingatan . Dalam pengaturcaraan C, kami menggunakan operator ampersand (&) dan penunjuk untuk mencari alamat ingatan . Sebagai petunjuk boleh digunakan untuk mengakses dan mengubah suai secara terus alamat ingatan , mereka penting untuk melaksanakan program. Pengaturcara boleh menggunakan alamat ingatan untuk menulis kod yang berjaya dengan mengingati asas-asas ini.