Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: All
Jul 20, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Precedence of the * and []Operators

The array subscript operator, [], has a higher precedence than the pointer dereference operator, *. Therefore, the following snippet declares an array of 10 pointers to char, not a pointer to an array of 10 characters:

char * p2 [10];

You can read the declaration as follows: because the array subscript has a higher precedence than the * operator, p2 is an array of 10 elements. The type of the elements is 'pointer to char' or char *. Now try to parse the following declaration:

char ** p3 [10];

Here again, operator [] has the highest precedence, therefore we know that p3 is an array with 10 elements. The type of the array's elements is 'pointer to pointer to char' or char **.

Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date