c - 填充缓冲区数组中的元素 - C

标签 c arrays buffer

我需要一个缓冲区数组,如下所示: 该数组有 1000 个缓冲区, 每个缓冲区有 3000 字节。

然后我需要循环遍历每个缓冲区以填充 3000 字节, 那么我应该能够访问每个元素。

但是我不知道该怎么做。有什么帮助吗?

我被困在这里:

#include <malloc.h>
#include <stdio.h>

#define BUFFER_LENGTH 5000
#define numberOfBuffers 1000

int main(void)
{
    typedef unsigned char byte;
    unsigned int i;
    byte** prom;

    prom = (byte*) calloc(numberOfBuffers, sizeof(byte));

    for (i = 0; i < numberOfBuffers; i++)
        prom[i] = (byte**) calloc(BUFFER_LENGTH, sizeof(byte*));

    return 0;
}

最佳答案

这将分配您的缓冲区:

int i;
unsigned char *b[1000];
for(i=0;i<1000;i++)  b[i] = calloc(sizeof(unsigned char),3000);

例如,您可以将第 5 个元素的第 10 个字节访问为 b[4][9]

关于c - 填充缓冲区数组中的元素 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44730571/

相关文章:

android - 在 Android Studio 上将您自己的库与 JNA 结合使用

linux - 如何使用带/不带缓冲区/缓存的 newrelic 监视可用内存

c++ - 使用 cin 对象进行输入验证并清除缓冲区 (c++)

javascript - 想要删除特定值之前的对象

c - 为什么将字符串的 scanf 保存到 str 而将 int 发送到 i 的指针?

ruby - 将数组的元素移动到 Ruby 中的另一个数组

Java 游戏图像缓冲留尾

c - strcpy 中的段错误或与读取某个变量有关的任何事情

c - 如何编写一个函数,从文件描述符中读取并返回一行而不用 C 中的 '\n'

Cplex库gcc编译链接错误