12
22
728x90

1. 공용체 활용

동일한 저장 징소에 여러 데이터 타입을 저장하는 자료구조
     1) 멤버들이 메모리를 공유해서 사용하는  기법
     2) 공용체의 크기는 공용체의 멤버 중 가장 크기가 큰 멤버에 의해 결정
          - 구조체는 모든 멤버의 크기가 구조체의 크기였지만 공용체의 크기는 가장 크기가 큰 멤버에 의해 결정됨
공용체 변수를 초기화할때는 첫번째 멤버의 초기값만 지정

공용체의 멤버에 접근할 때도 '.'와 '->' 연산자를 사용함

'B'의 아스키코드는 66, 'a'의 아스키코드는 97

구조체 공용체

 

2. 비트필드

     1) 구조체가 가진 멤버를 비트 단위로 사용
     2) 비트필드 정의
     3) 메모리에 할당할 때, 첫 번째 멤버를 최하위 비트에서부터 할당
     4) 비트필드의 멤버에 표현 가능한 범위 밖의 값을 저장하면 오버플로우가 발생

month는 4byte로 16까지 저장가능한데 ent.month는 17이라고 했으므로 오버플로우가 발생
     5) 비트필드를 정의할 때는 중간에 일부 비트를 비워두고 멤버를 특정 비트에 할당할 수 있음

728x90

'프로그래밍 언어 > C언어' 카테고리의 다른 글

매개변수  (0) 2021.12.22
열거체  (0) 2021.12.22
구조체 처리  (0) 2021.12.21
구조체  (0) 2021.12.21
배열 포인터  (0) 2021.12.21
COMMENT