Minggu, 09 Maret 2014

Memory Concepts

(Tugas 2.4)
Nama-nama variabel seperti integer1, integer2, dan sum benar-benar sesuai dengan lokasi di memori komputer. Setiap variabel memiliki nama, jenis dan nilai.

scanf( "%d", &integer1 ); /* read an integer */

Ketika pernyataan dijalankan, nilai yang diketik oleh pengguna ditempatkan ke lokasi memori yang nama integer1 nya telah ditetapkan. Misalnya, pengguna memasukan nomor 45 sebagai nilai untuk integer1. Komputer akan menempatkan 45 ke lokasi integer1.

integer1 45

Setiap kali nilai ditempatkan di lokasi memori, nilai tersebut menggantikan nilai sebelumnya di lokasi itu; Walaupun menempatkan nilai baru ke lokasi memori dikatakan destructive.

scanf( "%d", &integer2 ); /* read an integer */

Ketika pernyataan itu dijalankan, misalnya pengguna memasukkan nilai 72. Nilai ini ditempatkan ke dalam lokasi integer2, dan memori muncul seperti di bawah. Lokasi-lokasi tidak selalu berdekatan dalam memori.

integer1 45
integer2 72

Setelah program memperoleh nilai untuk integer1 dan integer2, program menambahkan nilai-nilai dan menempatkan sum ke variabel sum.

sum = integer1 + integer2; /* assign total to sum */

pernyataan yang melakukan penambahan juga menggantikan nilai berapa pun yang disimpan di sum. Hal ini terjadi ketika nilai sum yang dihitung dari integer1 dan integer2 ditempatkan ke dalam lokasi sum (menghancurkan nilai yang sudah ada di sum). Setelah sum dihitung, memori muncul seperti di bawah. Nilai-nilai integer1 dan integer2 muncul persis seperti yang mereka lakukan sebelum mereka digunakan dalam perhitungan.

integer1 45
integer2 72
sum        177

Mereka digunakan, tetapi tidak musnah, ketika komputer melakukan perhitungan. Dengan demikian, ketika nilai dibaca dari lokasi memori, proses dikatakan nondestructive.

Tidak ada komentar:

Posting Komentar