天天看點

[C語言] 聯合體

聯合體類型判斷大小端

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int say_sys()
{
  union Un
  {
    char a;
    int b;
  }u;
  u.b = 1;
  return u.a;
}

int main()
{
  int ret = say_sys();
  if (ret == 1)
  {
    printf("xiao duan");

  }
  else
  {
    printf("da duan");
  }


  return 0;
}      

計算聯合體大小

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>


union Un
{
  short a[5];  // 2  10
  int b;   //4
};

int main()
{
  union Un u;
  printf("%d ",sizeof(u));


  return 0;
}