I want to test how much the OS does allocate when I request 24M memory.
    for (i = 0; i < 1024*1024; i++)
            ptr = (char *)malloc(24);
When I write like this I get RES is 32M from the top command. 
    ptr = (char *)malloc(24*1024*1024);
But when I do a little change the RES is 244. What is the difference between them? Why is the result 244?
 
     
     
    