Leo 리오 2012. 6. 4. 12:56
반응형


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를 의미하는듯.






반응형