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

Menguasai Struct C: Meneruskan, Mengembalikan, dan Penanganan Referensi

Struktur C: Meneruskan, Mengembalikan, dan Penanganan Referensi

Dalam pemrograman C, struktur memungkinkan Anda mengelompokkan data yang terkait ke dalam satu entitas. Panduan ini memandu Anda melalui tiga operasi penting dengan struct: meneruskan mereka ke fungsi, mengembalikan mereka dari fungsi, dan memanipulasi mereka melalui referensi. Setiap bagian mencakup penjelasan ringkas dan contoh yang berfungsi untuk memperkuat pemahaman Anda.


Meneruskan Struct ke Fungsi

Sama seperti tipe bawaan, variabel struct dapat diteruskan langsung ke fungsi. Sebelum menyelami, membantu untuk meninjau Struktur C, Fungsi C, dan fungsi yang ditentukan pengguna.

Contoh berikut menunjukkan cara meneruskan struct student ke fungsi yang mencetak isinya.

#include <stdio.h> struct student { char name[50]; int age; }; // Prototipe fungsi void display(struct student s); int main() { struct student s1; printf("Masukkan nama: "); scanf("%[^ ]%%*c", s1.name); // baca hingga newline printf("Masukkan usia: "); scanf("%d", &s1.age); display(s1); // pass struct to function return 0; } void display(struct student s) { printf("\nMenampilkan informasi\n"); printf("Nama: %s", s.name); printf("\nUsia: %d", s.age); } 

Keluaran

Masukkan nama: Bond Masukkan usia: 13 Menampilkan informasi Nama: Bond Usia: 13 

Mengembalikan Struct dari Fungsi

Fungsi dapat mengembalikan seluruh struct, memungkinkan pemisahan yang bersih antara pengumpulan data dan pemrosesan. Contoh di bawah ini mengumpulkan informasi siswa di dalam fungsi dan mengembalikannya ke main.

#include <stdio.h> struct student { char name[50]; int age; }; // Prototipe fungsi struct student getInformation(); int main() { struct student s; s = getInformation(); printf("\nMenampilkan informasi\n"); printf("Nama: %s", s.name); printf("\nUsia: %d", s.age); return 0; } struct student getInformation() { struct student s1; printf("Masukkan nama: "); scanf("%[^ ]%%*c", s1.name); printf("Masukkan usia: "); scanf("%d", &s1.age); return s1; } 

Tipe pengembalian fungsi cocok dengan struct yang dikembalikan, memastikan keamanan tipe dan kejelasan.


Meneruskan Struct oleh Referensi

Ketika Anda perlu fungsi untuk memodifikasi struct, teruskan alamatnya (yaitu, pointer). Ini analog dengan meneruskan tipe bawaan oleh referensi. Contoh berikut menambahkan dua bilangan kompleks dan menyimpan hasilnya melalui pointer.

#include <stdio.h> typedef struct Complex { float real; float imag; } complex; void addNumbers(complex c1, complex c2, complex *result); int main() { complex c1, c2, result; printf("Untuk angka pertama,\n"); printf("Masukkan bagian real: "); scanf("%f", &c1.real); printf("Masukkan bagian imajiner: "); scanf("%f", &c1.imag); printf("Untuk angka kedua,\n"); printf("Masukkan bagian real: "); scanf("%f", &c2.real); printf("Masukkan bagian imajiner: "); scanf("%f", &c2.imag); addNumbers(c1, c2, &result); printf("\nresult.real = %.1f\n", result.real); printf("result.imag = %.1f", result.imag); return 0; } void addNumbers(complex c1, complex c2, complex *result) { result->real = c1.real + c2.real; result->imag = c1.imag + c2.imag; } 

Keluaran

Untuk angka pertama, Masukkan bagian real: 1.1 Masukkan bagian imajiner: -2.4 Untuk angka kedua, Masukkan bagian real: 3.4 Masukkan bagian imajiner: -3.2 result.real = 4.5 result.imag = -5.6 

Karena result diteruskan oleh referensi, semua perubahan di dalam addNumbers segera mempengaruhi variabel di main.


Dengan menguasai teknik-teknik ini, Anda dapat menulis kode C yang lebih modular, mudah dibaca, dan efisien yang memanfaatkan kekuatan penuh struktur.

Bahasa C

  1. Memahami Struct C#: Definisi, Penggunaan, dan Perbedaan Utama
  2. Fungsi Teman dan Kelas Teman C++: Menguasai Kontrol Akses
  3. Menguasai Struct C: Definisi, Variabel, Akses, dan Contoh Lanjutan
  4. Menguasai Struct dan Pointer C: Panduan Praktis
  5. Memahami Struktur Program C: Panduan untuk Pemula
  6. Memahami Tipe Data C: Panduan Lengkap
  7. Memahami Konstanta dan Literal C: Tipe, Penggunaan, dan Praktik Terbaik
  8. Menguasai Fungsi C: Struktur, Deklarasi, dan Praktik Terbaik
  9. Menguasai Overloading C++: Fungsi & Operator Dijelaskan
  10. Trafo Listrik Dijelaskan: Fungsi, Desain, dan Aplikasi Industri