我们如何创建一个矩阵并使用指针和双指针来使用它,为什么我看到一些开发人员甚至使用超过 2 个指针? 例如我想让一个数组包含多个数组,如 [[1,2,3],[4,5,6]] 我如何正确使用指针和双指针?
#include <stdio.h>
void main(void){
int **dptr, rows = 3, columns = 2;
dptr = (**int)malloc(2 * sizeof(int*));
for(int i = 0; i < rows; i++)
dptr[i] =(*int)malloc( columns * sizeof(int));
// Do something here
for(int j = 0; j < rows; j++)
free(dptr[j]);
free(dptr);
}
这个正确吗?
您的代码已按顺序放回:
#include <stdlib.h>
int main(void)
{
int **dptr = malloc(2 * sizeof(int*));
dptr[0] = malloc(3 * sizeof(int));
dptr[1] = malloc(3 * sizeof(int));
// Uses here
// free here
return 0;
}
无需转换 malloc 的返回值 您当然可以使用循环来创建更大的数组。