tags:

views:

112

answers:

4

Quick question regarding how memory is allocated.

If someone were to allocate 20 chars like this:

char store[20];

does this mean that it allocated 20 char type blocks of memory, or that it allocated char type blocks of memory starting with 0 and ending with 20. The difference is that the first example's range would be from store[0] to store[19], whereas the second example's range would be from store[0] to store[20].

+3  A: 

[0] to [19] (20 elements, that is)

ChristopheD
A: 

The first - char store[20] allocates 20 chars, from 0 to 19.

David Thornley
A: 

It allocates memory for 20 chars, i.e. valid indices go from 0 to 19.

sepp2k
+3  A: 

It means it allocated one block of memory large enough to hold 20 chars (from index 0 to 19)

Cameron
Thanks. Setting this as answer because you were first.
trikker
Hm, I think he was last ;-) But hey, no problem ;-)
ChristopheD
Yeah you're right. Was thinking backwards.
trikker