Day 3 - Structure

2025. 2. 26. 13:58·IDEC 교육/Embedded C

Structure(구조체)

서로 다른 형태의 변수들을 하나의 형태로 묶은 "자료구조"

c1, s1, i1 순으로 배치를 할 경우,

첫 4 Byte의 영역안에 c와 s가 모두 들어 갈 수 있으므로, 총 8 Byte를 사용하게 된다.

 

c1, i1, s1 순으로 배치를 할 경우, 각각 4 Byte, 총 12 Byte를 사용하는 것으로 보여지게 된다.
이는 ARM이나 기타 프로세서들의 Word Allignment 때문(4 Byte를 기준으로 Read)으로 메모리의 낭비가 일어난다.

 

이처럼 순서로 메모리의 최적화를 할 수 도 있으나,
#pragma pack(1)과 같이 Packing을 사용하여 빈칸이 없게 붙이는 것도 가능하다.

이는 총 7 Byte를 사용하게 된다.

이렇게 정의된 struct는 다른 자료형과 같이 사용이 가능하다.

 

저작자표시 비영리 변경금지 (새창열림)
'IDEC 교육/Embedded C' 카테고리의 다른 글
  • Day 4 - Memory Endian
  • Day 3 - 외부 변수 및 함수 참조
  • Day 3 - Function Pointer
  • Day 3 - Character Pointer & Array
Zi_Yoon
Zi_Yoon
머리 속에 정리하는 곳 <전자공학>
  • Zi_Yoon
    ZY_repo
    Zi_Yoon
  • 전체
    오늘
    어제
    • 분류 전체보기 (70)
      • HDLBits (25)
        • Verilog (19)
        • Circuits (4)
        • Verification (0)
      • IDEC 교육 (1)
        • Embedded C (13)
        • Verilog HDL (8)
      • Hardware (8)
        • RISC-V Project (1)
        • Computer Architecture (0)
        • AMBA (2)
        • FPGA (0)
        • 논문 읽기 (1)
        • ETC. (4)
      • 42서울 (13)
        • 리눅스 (12)
        • 네트워크 (1)
      • 생각 (1)
      • 취업 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Keil
    ARM
    AMBA
    charater
    research rabbit
    ssh
    보안 쉘
    axi
    verilog
    AXI4
    비대칭 키
    embedded
    QUARTUS
    bit-wise and
    lsblk
    fucntion
    verilator
    centos
    IDEC
    pointer
    세션 키
    vm
    hdlbits
    debian
    AppArmor
    APT
    c
    fpga
    RISC-V
    signal trap
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Zi_Yoon
Day 3 - Structure
상단으로

티스토리툴바