sizeof(int **)是什么意思?

时间:2016-07-12 17:40:36

标签: c

我是C的新手。我在一个程序中看到了这一行:

grid = calloc(nx,sizeof(int**));

我读到int**表示指向指针的指针,但是sizeof(int**)是什么意思

3 个答案:

答案 0 :(得分:3)

sizeof运算符产生其操作数所需的存储字节数。操作数是括在括号中的表达式或类型。在这种情况下,操作数是类型int **,它是指向int"的指针。

假设grid已被声明为

int ***grid;

然后可以重写为

grid = calloc(nx, sizeof *grid);

答案 1 :(得分:2)

sizeof表达式只是表示指向指针的指针所需的字节数 - int。据推测,编写代码的人希望分配足够的内存来存储nx这样的指针。

答案 2 :(得分:1)

sizeof(int **)告诉您int **的字节数,与sizeof(int *)告诉您int *的字节数的方式类似。他们只是有不同的间接层次。