옜날에 어떤분이 malloc 질문햇던거 잠깐 기엇낫는데 malloc을 매크로로 바꾸면 다음과같습니까?
#define new(type,count) (type*)malloc(sizeof(type)*count)
main() {
double *ptr;
ptr = new(double,100);
}
답변기다리겟습니다.
옜날에 어떤분이 malloc 질문햇던거 잠깐 기엇낫는데 malloc을 매크로로 바꾸면 다음과같습니까?
#define new(type,count) (type*)malloc(sizeof(type)*count)
main() {
double *ptr;
ptr = new(double,100);
}
답변기다리겟습니다.
응 맞아. 근데 괄호 하나 잘못친거 같은데?
#define new(type,count) (type*)malloc(sizeof(type)*(count)) 처럼 되어야지
다시고쳣습니다. 맞습니까?
count 앞뒤로 괄호 쳐주는게 좋을걸. a + 5 가 들어가면 어떻게 되겠어 곱셈하고 붙겠지.
ptr = new(double, a + 5) 이렇게 한다면 sizeof(double) * a + 5 가 될꺼아냐.
무슨소리신지이해가안데네요 sizeof(double) 해서 8로치환됫고 8 * 100 인데 이상할거없는데 왜그러시죠?
아 혹시 #define 매크로라는것은 a + 5 가 계싼되서넘어가는게아니라 그대로넘어가나요? a가 3이라면 8이넘어가는게아니라 a+5 자체가넘어가는거?
ㄴ 정답
저녁시간이다~
어디 신성한 C에 new가 쳐나와
ㄴ ㄹㅇ
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.