It's Science!
© 2023 Lei Ma.
#include <iostream> #include <typeinfo> using namespace std; int main() { int (*a0)[1000] = new int[10000][1000]; int (*a1)[1000][10] = new int[10000][1000][10]; int **a2; int *a3; int *a4 = new int[100]; // int a5[]; // Commented out because we can not do this // a5 = new int[100]; std::cout << typeid(a0).name() << endl; std::cout << typeid(a1).name() << endl; std::cout << typeid(a2).name() << endl; std::cout << typeid(a3).name() << endl; std::cout << typeid(a4).name() << endl; // std::cout << typeid(a5).name() << endl; }
The outputs are
gcc version 4.6.3 PA1000_i PA1000_A10_i PPi Pi Pi
And multidimensional arrays by default are contiguous in memory.
By OctoMiao
Last updated September 14, 2017