Operator Address-Of (&)
Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 3 dari 63.
Sekarang kamu sudah bisa mendeklarasikan pointer, kamu perlu mempelajari cara menyimpan alamat memori di dalamnya. Operator address-of (&) adalah kunci untuk mendapatkan alamat memori variabel apa pun.
Saat kamu meletakkan operator & di depan nama variabel, operator itu mengembalikan alamat memori tempat variabel tersebut disimpan. Anggap saja kamu bertanya, "Di mana variabel ini berada di memori?"
int age = 25;
int *ptr;
ptr = &age; // Simpan alamat 'age' di 'ptr'Dalam contoh ini, &age memberi kita alamat memori variabel age. Lalu kita menetapkan alamat ini ke pointer ptr. Sekarang ptr "menunjuk ke" variabel age.
Operator address-of sangat penting karena menjadi jembatan antara variabel biasa dan pointer. Tanpanya, kamu tidak bisa memberi tahu pointer variabel mana yang harus ditunjuk. Ingat, tipe data harus cocok. Kamu hanya bisa menetapkan alamat bilangan bulat ke pointer yang dideklarasikan untuk bilangan bulat.
Tantangan
MudahTulis program C yang menunjukkan penggunaan operator address-of untuk menghubungkan variabel dengan pointer. Programmu harus:
- Mendeklarasikan variabel integer bernama
numberdan menginisialisasinya dengan nilai 42 - Mendeklarasikan variabel karakter bernama
letterdan menginisialisasinya dengan nilai 'X' - Mendeklarasikan pointer ke integer bernama
num_ptr - Mendeklarasikan pointer ke karakter bernama
char_ptr - Menggunakan operator address-of untuk menetapkan alamat
numberkenum_ptr - Menggunakan operator address-of untuk menetapkan alamat
letterkechar_ptr - Mencetak alamat yang tersimpan di kedua pointer menggunakan
printfdengan penentu format%p
Output programmu harus menampilkan alamat pointer dengan format berikut:
Address of number: [address]
Address of letter: [address]Alamat memori sebenarnya akan bervariasi di setiap program dijalankan, tetapi format dan labelnya harus sama persis seperti yang ditunjukkan di atas. [address] adalah placeholder untuk alamat yang dicetak: jangan cetak tanda kurung siku.
Coba sendiri
#include <stdio.h>
int main() {
// TODO: Tulis kodemu di sini
// 1. Deklarasikan dan inisialisasi variabel
// 2. Deklarasikan pointer
// 3. Gunakan operator pengambil alamat untuk menetapkan alamat
// 4. Cetak alamat dengan format yang ditunjukkan
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Dasar-Dasar Pointer
Apa Itu Pointer?Mendeklarasikan PointerOperator Address-Of (&)Operator Dereference (*)Pointer NULLRekap: Dasar-Dasar Pointer4Proyek: Utilitas Teks Sederhana
Gambaran Umum ProyekMenghitung Karakter2Pointer dan array
Nama array sebagai pointerElemen array dan pointerAritmetika pointerMembandingkan pointerRangkuman: Menelusuri array dengan pointer5Pointer dan Fungsi
Penerusan dengan NilaiMeneruskan Pointer ke FungsiMengubah Variabel melalui PointerContoh Klasik: SwapMeneruskan Array ke FungsiRingkasan: Argumen Pointer Fungsi8Struct dan Pointer
Pointer ke StructOperator Panah (->)Mengirim Struct berdasarkan NilaiMengirim Pointer StructAlokasi Dinamis StructUlasan: Memodifikasi Struct dengan Pointer11Tantangan Rangkuman Akhir
Rangkuman: Penggabungan string DinamisRangkuman: array berisi structRangkuman: Penghitung Frekuensi Kata3Array char dan String
String sebagai array charPenanda akhir nullInput String dengan scanfMenggunakan strlen()Menggunakan strcpy()Menggunakan strcat()Menggunakan strcmp()Ulasan: Fungsi String DasarLatihan sendiri: Compiler C online