char ***的运行时/编译时初始化

时间:2011-08-02 13:32:22

标签: c++

如何在运行时或编译时初始化char*** p

2 个答案:

答案 0 :(得分:6)

使用空指针初始化

char*** p = 0; //or NULL, or nullptr

另一个选项

char x;
char *y = &x;
char **z = &y;
char ***p = &z;

分配内存?

char *** p = new char**[dim1];
for(int i = 0; i < dim1; ++i)
{
   p[i] = new char*[dim2];
   for(int j = 0; j < dim2; ++j)
   {
       p[i][j] = new char[dim3];
   }
}

答案 1 :(得分:3)

嗯,这是一个例子:

char A = 'A';
char *pA = &A;
char **ppA = &pA;
char ***p = &ppA;   // Now `***p` will dereference all the way back to 'A'