Monday 11 June 2018

c++ - assign int[][] to int**

Answer



As far as I know, in some contexts, an array is converted into a pointer to its first element:



int a[5];
int * p;


p = a;


Following this approach and considering I can assign an array to a pointer, why can't I assign a bidimensional array to a pointer to a pointer?



int a[5][5];
int ** q;

q = a;



However, I can assign an array of pointers to a pointer to a pointer:



int * p[5];
int ** q;

q = p;


If an array is converted into a pointer to its first element, when q = a happens in the second example, a should be a pointer to a[0] and a[0] should be a pointer to a[0][0], right?




Besides, I don't get an error if I do:



cout << **a;


Thanks in advance and I hope you can help me to understand.

No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...