본문 바로가기
Program Language/C

sizeof

by Leo 리오 2012. 6. 4.
반응형


main()

{

        int arr[16];

        int* nptr;

        int* ptr;

        ptr = malloc(sizeof(int)*16);

        printf("SIZE arr=%d , nptr=%d, ptr=%d\n", sizeof(arr), sizeof(nptr), sizeof(ptr));

}

 

결과 : SIZE arr=64 , nptr=4, ptr=4






main()

{

        char arr[16];

        char* nptr;

        char* ptr;

        ptr = malloc(sizeof(char)*16);

        printf("SIZE arr=%d , nptr=%d, ptr=%d\n", sizeof(arr), sizeof(nptr), sizeof(ptr));

}

 

결과 : SIZE arr=16 , nptr=4, ptr=4 



배열 크기는 하나크기*배열크기

포인터 크기는 한 Word(32bits, 4bytes)



main()

{

        char arr[16];

        char* nptr;

        char* ptr;

        ptr = malloc(sizeof(char)*16);

        printf("SIZE arr=%d , nptr=%d, ptr=%d\n", sizeof(int[16]), sizeof(0), sizeof(int*));

}

 

 결과 : SIZE arr=64 , nptr=4, ptr=4


0은 null pointer를 의미하는듯.






반응형

'Program Language > C' 카테고리의 다른 글

#ifdef #else #endif #elifdef  (0) 2012.08.09
printf debugging  (0) 2012.06.19
extern static 정리  (1) 2012.04.25
caller 찾기  (0) 2012.01.27
printf uint64_t uint32_t  (0) 2011.12.01

댓글