C에서 type확인 방법을 알고 싶어요

s750320y의 이미지

#include

#define AAA 1

이 부분에서 AAA를 1로 정의 했는데 AAA의 타입이 무엇인지 알 수 있나요?

int main()
{
C에서는 typeof(AAA)가 안되서 어떻게 알아보는 방법이 없을까요?

#define부분은 전처리기에서 처리하기 때문에 디버깅해서도 알 수가 없네요..ㅠ_ㅠ

ifree의 이미지

몇번이나 반복해서 나온 이야기이지만,
#define 으로 정의된 상수는 타입이 없어요.

const 를 쓰시길.

s750320y의 이미지

sizeof(AAA) 하면 2 로 나오는데 타입은 없는 것입니까?

bootmeta의 이미지

#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;	
}
imyejin의 이미지

텍스트 치환이기 때문에 의도하지 않은 암시적 형변환이 일어날 위험이 더 큰거죠

[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin

[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin