Video: The basics of BASIC, the programming language of the 1980s. 2024
Dalam pemrograman C, jenis dan ukuran variabel ditemukan terlebih dahulu dengan menyatakan bahwa variabel sebagai tipe tertentu, tetapi juga dengan menggunakan ukuran kata kunci. Deskripsi kedua dari sebuah variabel, isinya, dapat dikumpulkan dengan membaca nilai variabel menggunakan fungsi bahasa C yang sesuai.
Deskripsi ketiga dari sebuah variabel adalah lokasinya di memori. Anda mengumpulkan informasi ini dengan menggunakan & operator dan placeholder% p, seperti yang ditunjukkan pada O Variabel, Mengapa Art Anda?
O VARIABLE, WHEREFORE ART THOU?
#include int main () {char c = 'c'; int i = 123; float f = 98. 6; double d = 6. 022E23; printf ("Alamat 'c'% pn", & c); printf ("Alamat 'i'% pn", & i); printf ("Alamat 'f'% pn", & f); printf ("Alamat 'd'% pn", & d); return (0);}
Bila operator & prefiks mengawali sebuah variabel, ia mengembalikan sebuah nilai yang mewakili alamat variabel tersebut, atau lokasinya di memori. Nilai itu dinyatakan dalam heksadesimal. Untuk melihat nilai tersebut, karakter konversi% p digunakan, seperti yang ditunjukkan pada O Variabel, Mengapa Art Anda?
Latihan 1 : Ketik kode sumber dari O Variabel, Karenanya Art Thou? ke editor kamu Bangun dan jalankan
Hasil yang dihasilkan oleh program yang dihasilkan dari Latihan 1 itu unik, tidak hanya untuk setiap komputer tetapi juga berpotensi untuk setiap kali program dijalankan.
Alamat 'c' 0x7fff5fbff8ff Alamat 'i' 0x7fff5fbff8f8 Alamat 'f' 0x7fff5fbff8f4 Alamat 'd' 0x7fff5fbff8e8
Variabel c disimpan di memori di lokasi 0x7fff5fbff8ff - itu lokasi desimal 140, 734, 799, 804, 671. Kedua nilai itu sepele, tentu saja; komputer melacak lokasi memori, yang tidak masalah oleh saya.
Ilustrasi ini menunjukkan bagaimana alamat tersebut dipetakan di memori.
Elemen array individu juga memiliki lokasi memori, seperti yang ditunjukkan pada Lokasi Memori pada Array on Line 10. Operator & operator mengawali variabel elemen tertentu, batuk sebuah alamat. Karakter konversi% p pada fungsi printf () menampilkan alamat.
LOKASI MEMORI DI ARRAY
#include int main () {char hello [] = "Halo!"; int i = 0; sementara (halo [i]) {printf ("% c di% pn", halo [i], & halo [i]); i + +;} kembali (0);}
Latihan 2 : Buat proyek baru dengan menggunakan kode sumber yang ditunjukkan di Lokasi Memori di Array. Bangun dan jalankan
Sekali lagi, output lokasi memori unik di setiap komputer.
H pada 0x7fff5fbff8f0 e pada 0x7fff5fbff8f1 l pada 0x7fff5fbff8f2 l pada 0x7fff5fbff8f3 o pada 0x7fff5fbff8f4!pada 0x7fff5fbff8f5
Berbeda dengan contoh dari Latihan 1, alamat yang dihasilkan oleh Latihan 2 bersebelahan dalam memori, satu demi satu.
Latihan 3 : Kodekan sebuah program untuk menampilkan lima nilai dalam sebuah array int bersama dengan alamat memori masing-masing elemen. Anda dapat menggunakan Lokasi Memori dalam Array untuk menginspirasi Anda, meskipun for loop mungkin lebih mudah untuk dikodekan.
-
Ngomong ngomong, operator lokasi memori harus akrab dengan anda. Ini digunakan oleh fungsi scanf (), yang membutuhkan alamat variabel, bukan variabel itu sendiri. Itu karena scanf () menempatkan nilai di lokasi memori secara langsung. Bagaimana? Dengan menggunakan petunjuk, tentu saja!
-
Operator & operator juga bitwise AND; Namun, compiler cukup pintar untuk mengetahui kapan dan awalan sebuah variabel dan kapan & merupakan bagian dari persamaan matematika biner.