Not sure I entirely understand, but an int can not contain "nothing". NULL actually is basically the same thing as 0. The difference is that when you assign a null character to the beginning of a character array, functions that treat the character array as a string will only work with data before the null character - in that case "nothing". But what you're really doing behind the scenes is assining a byte with the value '0' to the first element of the array.