아래코드에서 3번라인처럼 사용할 때와 4번라인처럼 사용할 때, 각각 어떤 차이가 있나요?
1. unsigned int a = 0x1234; //16bit 2. unsigned char b; //8bit 3. b = (unsigned char)(a & 0x00ff); 4. b = (unsigned char)a;
다만 3번이 코드를 읽는사람에게, 코드 작성자의 의도를 더 명확하게 표시하는것 같습니다. 4번의 경우, 기본적으로 컴파일러가 상위 바이트를 버리겠지만, 작성자가 이를 고려한 것인지 좀 모호하게 보이기도 합니다. :-)
-------------------------------------------------------------------------------------- 조금씩이라도 전진한다.
삭제
ANSI-C나 MISRA-C 등과 같은 Rule...
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
결과상의 차이는 없어보입니다.
다만 3번이 코드를 읽는사람에게, 코드 작성자의 의도를 더 명확하게 표시하는것 같습니다.
4번의 경우, 기본적으로 컴파일러가 상위 바이트를 버리겠지만, 작성자가 이를 고려한 것인지 좀 모호하게 보이기도 합니다. :-)
--------------------------------------------------------------------------------------
조금씩이라도 전진한다.
4번울 쓰세요...
삭제
혹시 이러한 것이 Coding rule로서 규정되어 있지는 않는지요?
ANSI-C나 MISRA-C 등과 같은 Rule...
댓글 달기