Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Operator pengurangan (-) mengurangi operand kedua dari yang pertama. Kedua operand dapat bertipe integral atau floating, atau satu operand dapat menjadi penunjuk dan yang lain berupa bilangan bulat.
Ketika dua penunjuk dikurangi, perbedaan dikonversi ke nilai integral bertanda dengan membagi perbedaan dengan ukuran nilai dari tipe yang ditangani penunjuk. Ukuran nilai integral ditentukan oleh tipe ptrdiff_t dalam standar, termasuk file STDDEF.H. Hasilnya menunjukkan jumlah posisi memori dari tipe tersebut di antara dua alamat. Hasilnya hanya dijamin bermakna untuk dua elemen dari array yang sama, seperti yang dibahas dalam Aritmetika Penunjuk.
Saat nilai bilangan bulat dikurangi dari nilai penunjuk, operator pengurangan mengonversi nilai bilangan bulat (i) dengan mengalikannya dengan ukuran nilai yang ditangani penunjuk. Setelah konversi, nilai bilangan bulat mewakili posisi memori i, ketika setiap posisi memiliki panjang yang ditentukan oleh tipe penunjuk. Ketika nilai bilangan bulat yang dikonversi dikurangi dari nilai penunjuk, hasilnya adalah posisi alamat memori i sebelum alamat asli. Penunjuk baru menunjuk ke nilai dari tipe yang ditangani oleh nilai penunjuk asli.