회원가입 ID/PW 찾기
AA

MISC_OPT l1.l2.l3.bMiscOption

 

void function (void)
{
    uint8_t *bRam;

    
    bRam = (uint8_t *)&Struct.Option;  <<<<<<<<<
    MISC_OPT = *bRam++;
    BLCK_SEC = *bRam++;
    }
}

 

다른사람이 짠 소스를 보다 의문이 생겼습니다.

 

이런 형태인데 화살표<<<<<<<< 부분에 대해서 질문입니다.

 

bRam = (uint8_t *)&Struct.Option;

 

이부분을 

 

bRam = &Struct.Option;

 

이렇게 (uint8_t *) 포인터 캐스팅 부분을 빼도 똑같을거라고 생각하는데

 

터보씨에서 구조체까지는 아니더라도 포인터 캐스팅을 사용하여 테스트 해보았습니다만..제 생각대로였습니다..

 

이렇게 사용하는 이유가 있는건지, 상관이 없는건지, 제가 뭘 알아봐야 할 지 궁금합니다.

 

도움 주시면 감사하겠습니다..

댓글 1
  • No Profile

    포인터의 크기는 상관없으나 컴파일러의 제약조건에 걸리지 않기 위함이 큽니다

    컴파일러는 코딩에 의한 변수형의 실수등을 방지하고자 제약을 걸어두게 됩니다 

     

    uint의 메모리 크기를 예측할 수 있지요 컴파일러든 사용자든 

    uint* 쓰고 char* 로 캐스팅하면 그 포인터가 가르키는 변수의 크기를 알 수 없지요.포인터형만 보고는 

     

     

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
6 Digital 회로 설계 RS플립플롭으로 존슨카운터 만들기 hnp109 120 2021.12.03
5 Digital 회로 설계 Reset IC 관련 CPU 문의 드립니다.3 Maa 206 2021.06.28
4 Digital 회로 설계 회로 질문드립니다. -2923 195 2020.12.12
3 Digital 회로 설계 relay 질문드립니다. -4903 150 2020.11.29
2 Digital 회로 설계 잡은 많은 신호가 NOT게이트 통과한다면?1 -3953 156 2020.10.21
1 Digital 회로 설계 논리회로 카르노맵 이렇게 그려도 되나요?1 Qwerty87 230 2020.09.22
  • 존경 없이 참된 연애는 성립되지 않는다.
    - 피히테
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.