Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Pemrograman C: Meneruskan Alamat dan Pointer ke Fungsi – Panduan Praktis

Pemrograman C: Meneruskan Alamat dan Pointer ke Fungsi

Mahir dalam cara meneruskan alamat memori dan pointer ke fungsi dalam C, dengan contoh yang jelas dan penjelasan ahli.

Dalam C, meneruskan alamat bukan nilai memungkinkan fungsi untuk langsung memanipulasi variabel asli. Teknik ini, disebut pengiriman pointer, sangat penting untuk kode yang efisien dan untuk mengubah data di seluruh cakupan.

Contoh 1: Menukar Dua Integer melalui Referensi

#include <stdio.h> void swap(int *n1, int *n2); int main(void) { int num1 = 5, num2 = 10; /* Meneruskan alamat num1 dan num2 */ swap(&num1, &num2); printf("num1 = %d\n", num1); printf("num2 = %d", num2); return 0; } void swap(int *n1, int *n2) { int temp = *n1; *n1 = *n2; *n2 = temp; } 

Menjalankan program ini menghasilkan:

num1 = 10 num2 = 5

Fungsi swap() menerima pointer n1 dan n2 yang menunjuk ke variabel asli num1 dan num2. Dengan mengurai pointer ini (*n1 dan *n2), fungsi menukar nilai aktual yang disimpan di memori, itulah sebabnya main() melihat angka yang diperbarui. Perhatikan bahwa swap() mengembalikan void karena ia memodifikasi argumennya secara langsung.

Contoh 2: Menaikkan Nilai melalui Pointer

#include <stdio.h> void addOne(int *ptr) { (*ptr)++; /* Menaikkan nilai di alamat yang diberikan */ } int main(void) { int i = 10; int *p = &i; addOne(p); printf("%d", *p); /* Mencetak 11 */ return 0; } 

Di sini, p menyimpan alamat i. Fungsi addOne() menerima alamat yang sama, mengurai, dan menaikkan nilai dasarnya. Setelah pemanggilan, *p (dan akibatnya i) mencerminkan nilai baru 11.

Contoh-contoh ini menggambarkan kekuatan pengiriman pointer: fungsi dapat mengubah variabel yang didefinisikan di luar cakupannya, memungkinkan manipulasi data yang efisien tanpa menyalinan yang tidak perlu.

Bahasa C

  1. Memahami Kata Kunci dan Pengidentifikasi C#: Aturan, Daftar, dan Praktik Terbaik
  2. Menguasai Operator Bitwise dan Bit Shift C#: Panduan Komprehensif
  3. Kelas dan Objek C#: Fondasi untuk OOP yang Kuat
  4. Menguasai Kelas dan Metode Abstrak C#: Panduan Praktis
  5. Memahami Kelas dan Metode Parsial C#
  6. Menguasai Kelas dan Metode Tersegel di C#—Kapan Menggunakannya, Contoh Jelas, dan Tingkatkan Keamanan serta Performa Kode
  7. Cara Meneruskan Array 1D dan 2D ke Fungsi dalam C – Panduan Praktis
  8. Menguasai Pointer C: Tutorial Praktis dengan Panduan Ahli
  9. Memahami Hubungan Antara Array dan Pointer dalam C
  10. Menguasai Struct dan Pointer C: Panduan Praktis