i wrote a little test to using pointers and arrays to see what the next data slot would be after the last element of a char array, and i expected it to be a string terminator ( \0 ) but instead i got some weird creepy symbol in cmd. heres the code i used:
That's because you did not intialize your array with anything, so a) it contains garbage, and b) you are actually acessing hello[6], which is 2 chars longer than the array actually is. Remember, hello[0] is the first element.
5 is still one past the array limits, so it will be garbage. Also, when allocating an array that way, it doesn't have null terminators; only string literals do:
1 2
char test[5] = {'1', '2', '3', '4', '5'}; //no '\0' at test[4]
char argle[5] = "hi"; //has '\0' at argle[3]