본문 바로가기
개발이야기

(C언어) 구조체 배열 캐스팅하기

by 코저씨 2021. 4. 15.
728x90

펌웨어를 만들면서 겪는 일중 하나는 메모리 이슈이다.

메모리가 부족하다... 애플리케이션 개발자에게는 메모리 800바이트는 용량인가?

할 정도로 작은 영역이지만.. 16k sram으로 개발하는 펌웨어 개발자에게는 큰 용량..

오늘 프로그램을 짜는데 800바이트의 구조체를 만들어야 했다.

하지만 버퍼로 사용하는 배열을 이용해서 처리하려고 머리를 쓰다 보니 아직도 헷갈리는 부분이 있다.

자료 관리를 위해 구조체를 선택했는데 이를 포인터로 선언하고

char 배열 주소를 넘겨 주는 것으로 했다.

보통 캐스팅은 

으로 구성되는데 내 환경은 다음과 같다.

tStructXXX 구조체가 12개를 가진 구조체 배열 포인터를 선언하고 buf 배열을 주소로 넣어주기..

캐스팅 1줄이면 되겠지 했는데.. 빌드 에러만 나서 결국 이렇게 했다.

동작은 잘 되니까 그러려니 한데.. 이 방법밖에 없나 하며... 머리가 아픈 하루다..

 

728x90