sizeof() 를 함수내에서 할 때와 다른 함수에서 할 때...
글쓴이: litwind / 작성시간: 월, 2003/04/21 - 1:39오후
int size(void *src)
{
printf("in function: %d\n", sizeof(src));
return 0;
}
int main()
{
char a[7] = "abcdef";
printf("in main: %d\n", sizeof(src));
return 0;
}
이렇게 했더니..
결과가
in function: 4
in main: 7
이 나온네요.. 왜 그렇죠?
Forums:


검색 해보시길...
검색 해보세요.
거의 동일한 내용이 있습니다.
http://bbs.kldp.org/viewtopic.php?t=2225&highlight=sizeof
우리 모두 리얼리스트가 되자. 그러나 가슴에 이룰 수 없는 꿈을 가지자
int size(void *src) { printf("in
int size(void *src)
{
printf("in function: %d\n", sizeof(src)); => void * 는 포인터이므로 4 byte입니다.
return 0;
}
int main()
{
char a[7] = "abcdef";
printf("in main: %d\n", sizeof(src)); => sizeof(a)의 오타아닌가요? sizeof(a)라면 7바이트 맞슴다~
return 0;
}
[하양] 일단 결과는 맞구요...
위 부분처럼 변경을 한다음에...
size()를 호출할 땐...
size(&a);
이렇게 하면은 원하는 결과가 나오지 않을까 하는 생각이...
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);