gpt4 book ai didi

c - 指向数组的特定值

转载 作者:行者123 更新时间:2023-11-30 14:23:57 25 4
gpt4 key购买 nike

我有一个数组,int* array,有超过 10.000 个 int 值,但我想指向每 100 个位置,这意味着我将有 int ** 矩阵,其中:
matrix[i][j],我希望矩阵中的i指向array[i * 100],如何替换地址 ?这是我所做的:

u_int8_t **matrix = (u_int8_t **)malloc(width * sizeof(u_int8_t *));

int width_cr = 0;
for (int i = 0; i < width; i ++) {
if (i % 100 == 0) {

u_int8_t *position = matrix[width_cr];
position = &array[i];
width_cr ++;

}
}

问题是它指向数组的开头

最佳答案

array[i]的地址存储在matrix[i/100]中。

#define HOW_MUCH_NUMBERS 10000

[...]
{
int array[HOW_MUCH_NUMBERS];
int i = 0;
int **matrix;

matrix = malloc(sizeof(*matrix) * (HOW_MUCH_NUMBERS / 100));
while (i < HOW_MUCH_NUMBERS)
{
matrix[i / 100] = &array[i];
i += 100;
}
[...]
}

关于c - 指向数组的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12406675/

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