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

C Serikat

Serikat C

Dalam tutorial ini, Anda akan belajar tentang union dalam pemrograman C. Lebih khusus lagi, cara membuat serikat pekerja, mengakses anggotanya, dan mempelajari perbedaan antara serikat pekerja dan struktur.

Serikat adalah tipe yang ditentukan pengguna yang mirip dengan struct di C kecuali untuk satu perbedaan utama.

Struktur mengalokasikan ruang yang cukup untuk menyimpan semua anggotanya, sedangkan serikat hanya dapat menampung satu nilai anggota pada satu waktu .


Bagaimana cara mendefinisikan serikat pekerja?

Kami menggunakan union kata kunci untuk mendefinisikan serikat pekerja. Ini contohnya:

union car
{
  char name[50];
  int price;
};

Kode di atas mendefinisikan tipe turunan union car .


Buat variabel gabungan

Ketika sebuah serikat didefinisikan, itu menciptakan tipe yang ditentukan pengguna. Namun, tidak ada memori yang dialokasikan. Untuk mengalokasikan memori untuk tipe serikat tertentu dan bekerja dengannya, kita perlu membuat variabel.

Inilah cara kami membuat variabel gabungan.

union car
{
  char name[50];
  int price;
};

int main()
{
  union car car1, car2, *car3;
  return 0;
}

Cara lain untuk membuat variabel gabungan adalah:

union car
{
  char name[50];
  int price;
} car1, car2, *car3;

Dalam kedua kasus, variabel gabungan car1 , mobil2 , dan penunjuk gabungan car3 dari union car jenis dibuat.


Akses anggota serikat

Kami menggunakan . operator untuk mengakses anggota serikat pekerja. Dan untuk mengakses variabel pointer, kita menggunakan -> operator.

Pada contoh di atas,


Perbedaan antara serikat pekerja dan struktur

Mari kita ambil contoh untuk menunjukkan perbedaan antara serikat pekerja dan struktur:

#include <stdio.h>
union unionJob
{
   //defining a union
   char name[32];
   float salary;
   int workerNo;
} uJob;

struct structJob
{
   char name[32];
   float salary;
   int workerNo;
} sJob;

int main()
{
   printf("size of union = %d bytes", sizeof(uJob));
   printf("\nsize of structure = %d bytes", sizeof(sJob));
   return 0;
}

Keluaran

size of union = 32
size of structure = 40

Mengapa perbedaan ukuran variabel gabungan dan struktur ini?

Di sini, ukuran sJob adalah 40 byte karena

Namun, ukuran uJob adalah 32 byte. Itu karena ukuran variabel gabungan akan selalu menjadi ukuran elemen terbesarnya. Pada contoh di atas, ukuran elemen terbesarnya, (name[32] ), adalah 32 byte.

Dengan serikat pekerja, semua anggota berbagi memori yang sama .


Contoh:Mengakses Anggota Serikat

#include <stdio.h>
union Job {
   float salary;
   int workerNo;
} j;

int main() {
   j.salary = 12.3;

   // when j.workerNo is assigned a value,
   // j.salary will no longer hold 12.3
   j.workerNo = 100;

   printf("Salary = %.1f\n", j.salary);
   printf("Number of workers = %d", j.workerNo);
   return 0;
}

Keluaran

Salary = 0.0
Number of workers = 100

Untuk mempelajari di mana serikat pekerja digunakan, kunjungi Mengapa kami membutuhkan Serikat Pekerja C?


Bahasa C

  1. enum Jawa
  2. Konstruktor enum Java
  3. C - Serikat
  4. Cara Mengukur Katup Pneumatik
  5. AI dalam ukuran pasar manufaktur akan mencapai US$4798mn pada tahun 2026
  6. Memotong Stok Batangan Aluminium Sesuai Ukuran
  7. Apa itu Pipe Union?
  8. Cara Mengukur AC Komersial
  9. Berapa ukuran mesin bubut yang saya perlukan untuk pembuatan senjata api?
  10. Ukuran Penting untuk Penerima Udara