Bahasa C
Di C, sebuah penunjuk adalah variabel yang menyimpan alamat memori variabel lain, dan kata kunci const digunakan untuk mendefinisikan variabel atau pointer yang nilainya tidak dapat diubah setelah diinisialisasi. Saat kita menggabungkan pointer dengan konstan kata kunci, kita dapat mengontrol dua hal −
Dalam bab ini, kita akan melihat tiga variasi utama dari pointer konstan −
Penunjuk konstan berarti penunjuk itu sendiri konstan. Setelah diinisialisasi untuk menunjuk ke lokasi memori, ia tidak dapat menunjuk ke lokasi lain, namun nilai yang disimpan di lokasi tersebut masih dapat diubah.
Berikut ini adalah sintaks penunjuk konstan −
data_type *const pointer_name = &variable;
Dalam sintaksis ini, data_type adalah tipe data yang ditunjuk oleh penunjuk, *const membuat penunjuk itu sendiri konstan, nama_penunjuk adalah nama penunjuk, dan &variabel menugaskannya alamat memori suatu variabel.
Dalam contoh ini, kita mendeklarasikan pointer konstan ptr dan inisialisasi dengan alamat variabel x . Kemudian, kita ubah nilai x menggunakan ptr dan kami mencetak nilainya.
#include <stdio.h>
int main() {
int x = 10;
int y = 20;
int *const ptr = &x; // constant pointer to int
printf("Value of x: %d\n", *ptr);
*ptr = 15; // can change the value at address
printf("Modified value of x: %d\n", *ptr);
// ptr = &y; // changing pointer address is not allowed
return 0;
}
Di bawah ini adalah keluaran dari program di atas, yang menunjukkan bahwa penunjuk tetap pada x , namun nilai x dapat diperbarui.
Value of x: 10 Modified value of x: 15
Berikut ini contoh di mana kita mendeklarasikan pointer konstan ptr dan inisialisasi dengan alamat variabel x . Kemudian, kami mencoba mengarahkannya ke alamat variabel y . Ini akan menghasilkan kesalahan karena penunjuk konstan tidak dapat menunjuk ke lokasi memori lain setelah diinisialisasi.
#include <stdio.h>
int main() {
int x = 10;
int y = 20;
int *const ptr = &x; // constant pointer to int
printf("Value of x: %d\n", *ptr);
// Attempting to change the pointer to point to y
ptr = &y; // cannot change the address of a constant pointer
return 0;
}
Anda dapat melihat kesalahan di bawah , menunjukkan bahwa kita tidak dapat mengubah alamat penunjuk konstan.
error: assignment of read-only variable 'ptr'
Penunjuk ke konstanta berarti nilai yang ditunjuknya tidak dapat diubah, tetapi penunjuknya sendiri dapat menunjuk ke alamat memori (atau variabel) yang berbeda.
Berikut ini adalah sintaks untuk penunjuk ke konstanta −
const data_type *pointer_name = &variable; data_type const *pointer = &variable;
Dalam sintaksis ini, const data_type atau data_type const berarti penunjuk menunjuk ke nilai konstan, nama_penunjuk adalah nama penunjuk, dan &variabel menugaskannya alamat variabel.
Dalam contoh ini, kami mendeklarasikan sebuah pointer ptr yang menunjuk ke nilai konstanta dan memberinya alamat variabel a . Kemudian, kita membuat penunjuk menunjuk ke alamat variabel b yang berbeda dan cetak nilainya.
#include <stdio.h>
int main() {
int a = 5;
int b = 30;
const int *ptr = &a; // pointer to constant int
printf("Value of a: %d\n", *ptr);
// *ptr = 10; //we cannot modify value through pointer
ptr = &b; // canging pointer address
printf("Now pointing to b: %d\n", *ptr);
return 0;
}
Berikut adalah keluarannya dari program di atas, menampilkan pointer yang sama yang menunjuk ke variabel berbeda.
Value of a: 5 Now pointing to b: 30
Berikut ini contoh di mana kita mendeklarasikan pointer ke konstanta ptr dan inisialisasi dengan alamat variabel a . Kemudian, kami mencoba mengubah nilai a melalui penunjuk. Ini akan memberikan kesalahan karena penunjuk ke konstanta tidak mengizinkan pengubahan nilai yang ditunjuknya.
#include <stdio.h>
int main() {
int a = 5;
const int *ptr = &a; // pointer to constant int
printf("Value of a: %d\n", *ptr);
// we cnnot modify value through pointer to constant
*ptr = 10;
return 0;
}
Di bawah ini Anda dapat melihat keluaran , yang menunjukkan kesalahan menunjukkan bahwa kita tidak dapat mengubah nilai melalui pointer ke konstanta.
error: assignment of read-only location '*ptr'
Penunjuk konstan ke suatu konstanta adalah pointer yang tidak dapat mengubah alamat memorinya, dan nilai yang disimpan pada alamat memori tersebut juga tidak dapat diubah. Kedua tindakan tersebut dibatasi, jadi kami hanya dapat membaca nilainya saja, tidak ada yang lain.
Berikut ini adalah sintaks untuk penunjuk konstan ke suatu konstanta −
const data_type *const pointer_name = &variable;
Dalam sintaksis ini −
Dalam contoh ini, kita mendeklarasikan pointer konstan ke ptr konstan dan tetapkan alamat memori variabel a . Kami kemudian mencetak nilai a menggunakan penunjuk.
#include <stdio.h>
int main() {
int a = 10;
const int *const ptr = &a; // constant pointer to constant
printf("Value of a: %d\n", *ptr);
// *ptr = 15; // we cannot modify value
// ptr = &b; // we annot change pointer location
return 0;
}
Berikut adalah keluarannya dari program di atas−
Value of a: 10
Dalam contoh ini, kita mendeklarasikan pointer konstan ke ptr konstan dan inisialisasi dengan variabel a . Kemudian, kami mencoba mengubah nilai melalui pointer dan juga mencoba membuat pointer menunjuk ke variabel lain. Kedua operasi tersebut tidak diperbolehkan dan akan mengakibatkan kesalahan kompiler .
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
const int *const ptr = &a; // constant pointer to constant
printf("Value of a: %d\n", *ptr);
// *ptr = 15; // we cnnot modify value
// ptr = &b; // we cannot change pointer address
return 0;
}
Di bawah ini Anda dapat melihat keluaran menunjukkan kesalahan−
Value of a: 10
Tabel berikut menunjukkan perbedaan antara penunjuk konstan, penunjuk ke konstanta, dan penunjuk konstan ke konstanta.
int *const p = &x;Penunjuk ke KonstanPenunjuk yang dapat menunjuk ke alamat berbeda, namun tidak dapat mengubah nilai pada lokasi yang ditunjuk.YesNo
const int *p = &x;Penunjuk Konstan ke KonstanPenunjuk yang alamatnya tetap, dan nilai pada alamat tersebut tidak dapat diubah.NoNo
const int *const p = &x;
Dalam bab ini, kita membahas pointer konstan dan pointer ke konstanta di C. Pointer konstan perbaiki alamatnya tetapi izinkan perubahan nilainya, penunjuk ke konstan izinkan perubahan alamat namun bukan nilainya, dan penunjuk konstan ke konstan batasi keduanya.
Bahasa C
Pompa hidrolik adalah bagian penting dari peralatan di banyak pengaturan industri dan komersial, dan memilih jenis pompa yang tepat bisa menjadi tugas yang sulit. Pada artikel ini, kami akan meninjau beberapa jenis pompa hidrolik dan mendiskusikan mana yang paling efisien untuk aplikasi tertentu. Ap
Indeks Bisnis Gardner (GBI):Pemesinan Presisi mengukur kondisi aktivitas pemesinan presisi saat ini melalui respons survei yang mencakup pesanan baru, produksi, simpanan, ketenagakerjaan, ekspor, dan pengiriman pemasok. Angka di atas 50 menunjukkan ekspansi; di bawah 50 menunjukkan kontraksi. Inde
Pilih PickMaster untuk mengemas dengan cara mudah. PickMaster adalah produk perangkat lunak berbasis PC yang menggunakan antarmuka grafis untuk mengonfigurasi aplikasi untuk kerja sama tim robotik di sepanjang sabuk konveyor. PickMaster memandu robot dalam proses pengemasan, dan terintegrasi dengan
Artikel ini memberikan panduan untuk mengonfigurasi bagian tersembunyi dari Perceptron multilayer. Sejauh ini dalam seri jaringan saraf ini, kita telah membahas NN Perceptron, NN multilayer, dan cara mengembangkan NN semacam itu menggunakan Python. Sebelum kita melanjutkan membahas berapa banyak la