Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Void Pointer Di C: Mengapa Anda Membutuhkannya dalam Pengalaman Coding Anda

Dalam bahasa pemrograman, konsep tertentu membuat pengkodean menjadi lebih mudah. Misalnya, penunjuk kosong menentukan tipe data spesifik dari input pengguna akhir dalam bahasa pemrograman C. Oleh karena itu, membawa kita untuk membahas pointer kosong di C.

Seperti yang lain, pointer kosong memiliki fungsi yang relevan untuk fleksibilitasnya. Namun, jika Anda ingin menghemat waktu saat pengkodean, fungsi penunjuk masuk Anda adalah penunjuk kosong. Pointer ini memungkinkan Anda menyimpan dan mengambil tipe objek yang berbeda secara bersamaan. Selanjutnya, Anda akan mempelajari semua tentang teknik pengkodean yang melibatkan pointer kosong di C.

(Gambar bahasa pemrograman)

1. Apa itu Void Pointer di C?

Umumnya, void pointer adalah pointer tanpa tipe data terkait. Dengan kata lain, mereka seperti wadah kosong. Fitur ini memungkinkan mereka untuk menyimpan alamat dari variabel tipe tipe data yang tidak diketahui.

Fungsi pointer kosong C memungkinkan Anda mengetik-melemparkannya ke tipe data lain, memungkinkan alokasi memori yang mudah. Selanjutnya, ini memungkinkan fungsi fleksibel seperti byte dalam alokasi memori. Selanjutnya, pointer kosong dalam C membantu menjalankan fungsi generik.

(Program “Hello World” sederhana dalam bahasa pemrograman C)

https://commons.m.wikimedia.org/wiki/File:C_Hello_World_Program.png

2. Bagaimana Void Pointer Bekerja di C?

Secara keseluruhan, fungsi pointer sangat penting untuk pemrograman. Setidaknya, kita melihat pentingnya dalam menangani manajemen dan alokasi memori.

Ada dua jenis penunjuk yang berbeda; pointer generik dan pointer kosong. Namun, fokus kami adalah pada pointer kosong dan cara kerjanya di C.

Untuk memiliki pointer void di C, Anda hanya perlu mendeklarasikan sepotong informasi dengan kata kunci “void.”

Secara keseluruhan, referensi dan dereferencing berperan dalam konsep pointer tujuan umum. Dereferensi, dalam hal ini, adalah ketika Anda memperoleh nilai yang disimpan dalam variabel pointer.

Jadi, jika nilai pointer tidak terkait dengan tipe data yang tersedia, Anda memiliki tipe-casting sebagai opsi.

Namun, perhatikan bahwa pointer kosong tidak mendukung operasi aritmatika apa pun. Sebagai gantinya, kami menggunakan operator tipuan “*.” Untuk alasan itu, menjadi perlu untuk mengetik-cast tanpa adanya tipe data terkait. Typecasting, oleh karena itu, menghubungkan tipe data yang dideklarasikan di samping pointer kosong. Jika tidak, menjalankan program akan menampilkan kesalahan kompiler.

Ukuran void mirip dengan pointer karakter di C. Ukuran objek bervariasi tergantung pada platform pointer.

Fungsi manajemen memori ini adalah malloc() dan calloc(). Sebagai imbalannya, fungsi-fungsi ini membantu mengalokasikan memori dari tipe data yang dibutuhkan. Di satu sisi, alokasi memori menggunakan format yang memungkinkan penunjuk fungsi meningkatkan fitur lainnya.

(Ilustrasi bergambar tentang cara kerja pointer di C).

https://commons.m.wikimedia.org/wiki/File:C_pointer_3.svg

3. Sintaks Penunjuk Kosong

Biasanya, akan lebih baik menggunakan sintaks yang tepat untuk mengimpor fungsi pemrograman apa pun. Oleh karena itu, sintaks dari pointer kosong di C adalah:

Kosongkan *pointer_name;

Dimana "void" adalah kata kunci dari jenis pointer. Jadi, kita memiliki nama pointer yang kita tunjuk dan memberikan alokasi alamat.

Mari kita ambil contoh di bawah ini:

int b =6

char c =‘z’;

Oleh karena itu, dalam kasus di mana kami menyertakan variabel pointer kosong, kami memiliki:

Kosong *p =&b; // void pointer mengalokasikan dan menahan int 'b' sebagai alamat integer.

P =&c; // void pointer juga menyimpan alamat char ‘c’.

Lebih jauh, mari kita soroti beberapa contoh sintaks:

int i=6; // inisialisasi variabel integer.

int *p; // deklarasi pointer integer.

batal *ptr; // batalkan deklarasi pointer.

mengapung *fp; // deklarasi pointer mengambang.

p=fp; // penunjuk tidak valid.

ptr=p; // penunjuk yang valid.

fp=&i; // penunjuk tidak valid.

ptr=&i; // penunjuk yang valid.

ptr=fp; // penunjuk yang valid.

4. Beberapa Contoh Void Pointer di C Dengan Contoh Kode

Selanjutnya, kita melihat contoh argumen pointer kosong dalam cuplikan kode di bawah ini:

Contoh kode #1

Dalam contoh kode pertama kami, kami menunjukkan cara menggunakan fungsi malloc(), sebagai berikut:

#include

#include

int main()

{

int a=90;

int *x =(int*)malloc(sizeof(int));

x=&a;

printf(“nilai yang ditunjuk oleh x pointer :%d”,*x);

kembalikan 0;

}

Keluaran

Contoh kode #2

Dalam kode berikutnya, kami menunjukkan konsep type-casting.

#include

int main()

{

batal *ptr =NULL; //mengosongkan variabel penunjuk

int *p =NULL;// variabel pointer integer

char *cp =NULL;//variabel penunjuk karakter

float *fp =NULL;//variabel penunjuk float

//membatalkan ukuran pointer

printf(“ukuran pointer kosong =%d\n\n”,sizeof(ptr));

//ukuran pointer bilangan bulat

printf(“Ukuran penunjuk bilangan bulat =%d\n\n”,ukuran(p));

//ukuran penunjuk karakter

printf(“ukuran penunjuk karakter =%d\n\n”,ukuran(cp));

//ukuran pointer mengambang

printf(“ukuran pointer mengambang =%d\n\n”,sizeof(fp));

kembalikan 0;

}

Keluaran

Jika tidak, lihat tautan video terlampir di bawah tentang kode penunjuk kosong dalam pemrograman C.

https://youtu.be/-503stjWLhc

5. Penggunaan pointer kosong

Sejauh ini, void pointer memiliki relevansi yang luas dalam pemrograman bahasa C.

Untuk pemahaman yang lebih baik, lihat contoh kode di bawah ini. Beberapa di antaranya adalah:

#include

batal batal()

{

int num=10;//Menginisialisasi variabel normal

void *ptr;//Mendeklarasikan pointer kosong

ptr=#//Mengarahkan pointer Ptr ke num

printf(“Nilai variabel integer adalah=%d”,*ptr );

}

Namun, menjalankan kode ini menghasilkan kesalahan waktu kompilasi. Jika Anda menggunakan type-casting pada kode yang sama untuk mendereferensi pointer, Anda mendapatkan output yang diinginkan, dengan demikian:

#include

batal batal()

{

int num=10;//Menginisialisasi variabel normal

void *ptr;//Mendeklarasikan pointer kosong

ptr=#//Mengarahkan pointer Ptr ke num

printf(“Nilai variabel integer adalah %d”, *(int*)ptr );// Dereferencing menggunakan typecasting

}

Nilai variabel integer adalah 10.

Oleh karena itu, dengan type-casting, kita dapat mendereferensikan void pointer.

Jadi, sementara aritmatika pointer tidak valid dengan pointer kosong, type-casting membantu memecahkan masalah itu. Outputnya menjadi:

(Penunjuk kosong membuat pengkodean lebih mudah dengan mengungkapkan lokasi variabel data)

Sebagai ilustrasi, lihat kode di bawah ini:

int main(void)

{

// Perhatikan bahwa fungsi malloc() mengembalikan void *

// Menindaklanjuti, ketik-cast ke semua tipe data seperti char *, int *,…

int *x =malloc(ukuran(int) * n);

}

Sebagai catatan, program di atas hanya dikompilasi dalam C.

Kesimpulan

Fungsi void pointer adalah alat pemrograman yang penting, secara umum. Pemrogram merasa berguna karena tidak ada tipe data yang terkait dengannya. Setidaknya, ini menghilangkan kebingungan pointer yang mengarahkan nilai dan kelas data yang berbeda satu sama lain. Oleh karena itu, void pointer mengurangi kelebihan tipe-casting. Ini juga mendukung tipe data pointer generik. Oleh karena itu, ini juga merupakan kompiler tujuan umum.

Anda memiliki panduan lengkap tentang bekerja dengan pointer kosong di c. Namun, jika Anda memiliki pertanyaan atau membutuhkan sumber daya pemrograman lainnya, halaman kontak kami selalu tersedia.


Teknologi Industri

  1. Mengapa Anda Membutuhkan Audit Energi Udara pada Sistem Udara Terkompresi Anda
  2. Apa itu Pembatas Torsi dan Mengapa Anda Membutuhkannya
  3. Apa Itu Klem Hidrolik dan Mengapa Anda Membutuhkannya?
  4. 4 alasan mengapa Anda harus mendigitalkan dokumentasi industri
  5. Mengapa Anda benar-benar perlu menyiapkan sistem Andon?
  6. Pemotongan Plasma:4 Alasan Mengapa Anda Membutuhkan Meja Plasma Di Toko Anda Sekarang
  7. 10 Alasan Menarik Mengapa Anda Membutuhkan Waterjet Cutting
  8. Mengapa Anda Membutuhkan Tukang Besi Mekanik?
  9. Mengapa Anda Membutuhkan Servo Press Kecil?
  10. Mengapa Anda Membutuhkan Pusat Pemesinan 5 Sumbu?