Pointers and Arrays

C++ never passes arrays to a function. Instead, the argument is implicitly converted to a pointer that contains the address of the first array element. For example:

 void f(char s[]);int main(){ char buff[10]; f(buff); // buff is quietly converted to '&buff[0]'}

Because of this implicit conversion, you may access elements of an array in two forms:

 *(s+n) = 'a'; // pointer notations[n] = 'a' // array notation

In fact, even if s is a real pointer, you may use the [] notation:

 char *s=new char[10];s[0]='0';

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: