Hi, 1) What happens when we free/delete a NULL pointer? ex: int *p=NULL; delete(p);// or free p; On my PC(linux operating system and GCC compiler) the above code ran successfully. I read manual pages. No information about it. 2) Where can I found how fee() function works? I want to see source code. any links please. 3) On which macines GCC or any compiler will do 'logical shift' instead of 'arithmetic shift'??