在C语言中,动态内存分配是这样的。 int *pival=(int*)malloc(sizeof(int)) 上述语句是在内存中声明了一个指针变量pival,其中(int*)表示该段内存空间的数据类型指向整形,sizeof(int)表示长度为四个字节,malloc(sizeof(int))表示配置了一段四个字节的内存空间.可以这样解释吧?如果以上我说的正确的话。 那么动态分配二维数组的第一维度则是这样的。 数据类型 **指针变量=(数据类型**)malloc(sizeof(int*)) 其中,数据类型后面的存取运算符为什么有两个呢? sizeof(int*)中为什么要加一个星号,这个到底是为什么,区别在哪,如果不加会怎么样。