I know that the following would be an array of two elements each holding a pointer to an integer:
int* arr[2];
But I don't really understand what this does:
int (*arr)[2];
This is from the video course on data structures I'm watching right now, but I don't find the lecturer's explanation as to how exactly you should understand this kind of syntax all that clear, to say the least. Here's the YouTube link: Lecture 16: Dynamic Allocation (just click on the link and it will automatically take you to the moment he talks about it)