산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C 유니온

C 조합

이 자습서에서는 C 프로그래밍의 공용체에 대해 배웁니다. 보다 구체적으로, 조합을 생성하고, 조합원에 액세스하고, 조합과 구조의 차이점을 배우는 방법입니다.

공집합은 한 가지 주요 차이점을 제외하고 C의 구조체와 유사한 사용자 정의 유형입니다.

구조는 모든 구성원을 저장할 수 있는 충분한 공간을 할당하지만 통합은 한 번에 하나의 구성원 값만 보유할 수 있습니다. .

<시간>

공집합을 정의하는 방법

union을 사용합니다. 공용체를 정의하는 키워드. 다음은 예입니다:

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

위의 코드는 파생 유형 union car을 정의합니다. .

<시간>

통합 변수 생성

Union이 정의되면 사용자 정의 유형이 생성됩니다. 그러나 메모리가 할당되지 않습니다. 주어진 공용체 유형에 대한 메모리를 할당하고 작업하려면 변수를 생성해야 합니다.

유니온 변수를 만드는 방법은 다음과 같습니다.

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

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

유니온 변수를 만드는 또 다른 방법은 다음과 같습니다.

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

두 경우 모두 유니온 변수 car1 , 자동차2 및 통합 포인터 car3 union car 중 유형이 생성됩니다.

<시간>

노조 회원 액세스

.을 사용합니다. 연산자를 사용하여 Union의 구성원에 액세스합니다. 포인터 변수에 액세스하려면 ->을 사용합니다. 연산자.

위의 예에서

<시간>

공용체와 구조의 차이점

공용체와 구조체의 차이점을 보여주는 예를 들어보겠습니다.

#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;
}

출력

size of union = 32
size of structure = 40

유니온 및 구조체 변수의 크기가 이렇게 다른 이유는 무엇입니까?

여기서 sJob의 크기는 는 40바이트이므로

그러나 uJob의 크기는 32바이트입니다. Union 변수의 크기는 항상 가장 큰 요소의 크기이기 때문입니다. 위의 예에서 가장 큰 요소의 크기는 (name[32] ), 32바이트입니다.

조합을 통해 모든 구성원은 동일한 기억을 공유합니다. .

<시간>

예:조합원 액세스

#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;
}

출력

Salary = 0.0
Number of workers = 100
<시간>

공용체 사용 위치를 알아보려면 C 공용체가 필요한 이유를 방문하세요.


C 언어

  1. 자바 열거형
  2. 자바 열거형 생성자
  3. C - 조합
  4. 공압 밸브의 크기를 조정하는 방법
  5. 제조 시장 규모의 AI는 2026년까지 4억 7980만 달러에 달할 것입니다.
  6. 알루미늄 막대 스톡을 크기에 맞게 절단
  7. 파이프 연합이란 무엇입니까?
  8. 상업용 에어컨 크기 조정 방법
  9. 총기 제작에 필요한 선반 크기는 얼마입니까?
  10. 에어 리시버의 크기 문제