#include
#define AAA 1
이 부분에서 AAA를 1로 정의 했는데 AAA의 타입이 무엇인지 알 수 있나요?
int main() { C에서는 typeof(AAA)가 안되서 어떻게 알아보는 방법이 없을까요?
#define부분은 전처리기에서 처리하기 때문에 디버깅해서도 알 수가 없네요..ㅠ_ㅠ
몇번이나 반복해서 나온 이야기이지만, #define 으로 정의된 상수는 타입이 없어요.
const 를 쓰시길.
sizeof(AAA) 하면 2 로 나오는데 타입은 없는 것입니까?
#include <stdio.h> #define AAA 1 int main() { char c = AAA; int i = AAA; printf(" sizeof(c) == %d\n", sizeof(c)); printf(" sizeof(i) == %d\n", sizeof(i)); return 0; }
텍스트 치환이기 때문에 의도하지 않은 암시적 형변환이 일어날 위험이 더 큰거죠
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
텍스트 포맷에 대한 자세한 정보
<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]
몇번이나 반복해서
몇번이나 반복해서 나온 이야기이지만,
#define 으로 정의된 상수는 타입이 없어요.
const 를 쓰시길.
그럼 사이즈는..?
sizeof(AAA) 하면 2 로 나오는데 타입은 없는 것입니까?
다음 짧은 코드를 돌렸을 때 결과를 생각해 보시길.
타입이 없는 건 아니고
텍스트 치환이기 때문에 의도하지 않은 암시적 형변환이 일어날 위험이 더 큰거죠
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
댓글 달기