EDIT:: Thanks for all the info. I'm just not used to using charactors that much in my programming, but i understand what you all mean now. And if anyone is interested, i use Code::Blocks with gcc, and it compiles fine, no warnings either. haha
a, b and c are pointers. They all point to the same location in memory, pointing to arrays of size zero. Your char arrays are of size zero. An array of size zero is forbidden by the C++ standard (see section 8.3.4 of C++ 98)
You can get those memory addresses with the following code to confirm it.
I expect that when an array is created, there is a value somewhere keeping track of where the next free memory is. Because the array is of size zero, that value is not moved on, and the next array created starts in the same place.
nothing should have gotten stored there if its an array of size 0. that means it allocated exactly 0 bits so the data isnt getting stored anywhere. im pretty sure in visual studio that wont even compile.
The data will be stored in the memory location the pointer points to. If you build and run the code I posted above, you'll be able to read the memory location it's being stored in. I remind you that if you put five values into an array of length four, the fifth value still gets stored. This is known as a "buffer overrun/overflow".
yes the problem is that your initializing your arrays as size zero as ascii pointed out, try changing them to at least a[1]; when you initialize an array the number in the brackets is the size but when you are putting numbers into the array then b[0] is what you want if your putting it into the beginning of the array.