Quote Originally Posted by gwarf420 View Post
Yes, but in explaining why char pointers should be declared const it should be natural to address the likely common question that "If I claim a char pointer as constant, it will not allow me to reassign the pointer?"

I know, for me at least, it was not natural for me to think of a char pointer as two seperate types. (I viewed it as either a char pointer type or int pointer type or just an int. Not a pointer type pointing to an int or char type). A simple link in the article to that related concept would be nice. If it had not been for laserlight to take the extra step and explain that, I would have totally disregarded the advice because it would seem it would not allow me to reassign the char pointer (which would not be worth the hassle).
Well... I still think it was a lack of knowledge on your part. The articles were, after all, directed at programmers, who should know (to a certain extent anyway) the basics.
We can't very well explain every little thing about the language express inside them.

Besides, seeing as you thought them useless, you posted your concerns and was corrected, so I think it works anyway

So, a pointer to an array, is just that, a pointer to an array NOT a pointer to the first element of an array. Because of this, if I were to try and increment pArray later in the code, it would be moving the pointer the full length of the array instead of each element of the array.
Yep, it moves the full range.

As I understand it, the only real reason to use this construct is using multidimensional arrays and allow to increment by a group of elements at one time rather than each element individually?
Well, that can be argued. Everything can be used for a reason you see fit, but I would like to stick it multi-dimensional arrays, yes. It's a common use for them.