gpt4 book ai didi

c++ - 如何使用 malloc 从一维数组转换为二维数组

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:12 26 4
gpt4 key购买 nike

我正在尝试将一维数组转换为二维数组

最佳答案

如果你想分配一个实际的二维数组,而不是一个指针数组,语法会有点棘手:

int X = 16, Y = 8;
char (*pt)[X][Y] = malloc(X*Y);

上面,pt 是指向 X by Y char 数组的指针。因为它是一个指针,所以访问它的元素也需要星号和括号:

for (int i = 0 ; i != X ; i++) {
for (int j = 0 ; j != Y ; j++) {
(*pt)[i][j] = (char)(i*X+j);
}
}

当然,在使用完数组后,您需要释放指针:

free(pt);

关于c++ - 如何使用 malloc 从一维数组转换为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29864479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com