몇 가지 가능한 선택 사항이있는 경우 어떤 유형의 노동 조합이 포함되어 있는지 확인할 수 있습니까? typedef union
{
char charArr[SIZE];
int intVal;
float floatVal;
} VALUE_TYPE;
VALUE_TYPE number;
number.intVal = 8;
값이 다
이 조합을 이해할 수 없다, 그것은을 준수합니다,하지만 난 무슨 일이 일어나고 있는지 설명 할 수없는, 어떤 도움이 될 것이다 큰 :) 여기 코드는 다음과 같습니다 g_pointer: 13fff0
local_addr: fff0
globle_page: 13
g_pointer: 13fff1
local_addr: fff1
globle_page: 13
나는 예에 대한 노동 조합 및 열거를 가지고있다. 나는 InfoType가 eHOME 경우, 나는 정보, Info info;의 객체를 생성하고 HomeInfo 세부 info.HomeInfo를 작성하고 부를 것이다, 누구의 프로토 타입 함수 호출시 void SetInfo(InfoType, Info);
또 다른 기능이 SetInfo(eHONE, info);
아무에게도 어설 션이 실패한 이유를 말해 줄 수 있습니까? FYI : 64 비트 Linux 컴퓨터에서 gcc 4.6.1을 사용하여 컴파일 중입니다. reg._8h 예상 typedef union cpu_register {
uint64 _64;
uint32 _32;
uint16 _16;
uint16 _8l : 8,
유니온을 만들었고 그 안에 다른 유형의 배열을 넣었습니다. 나는 출력물을 주문서에 인쇄했는데 몇 가지 사실을 이해하지 못했습니다. 1) 내용이 다른데도 내 char 배열의 길이가 항상 8 인 이유는 무엇입니까? 그 안에는 단지 "안녕"이 있습니다. 왜 출력은 "Cats rock!"입니까? 내가 두 번째로 인쇄하려고 할 때. 나는 내부 배열과 같은 것을 넣지
다음 유니온 typedef를 사용하면 MyPacket.Byte.LB와 MyPacket.Field.LB를 비교하는 속도가 차이가 있습니까? typedef union // create a union to assemble bytes into ints
{
int Packet; // contains an int
struct
{
char H