使用C访问数组的连续部分

时间:2014-12-04 07:05:21

标签: c arrays

使用C编程,是否可以在不使用移位运算符或循环的情况下从数组访问特定的连续部分。

如果我需要从大小为n的数组(n> x)中访问x个连续元素。是否有机会将它们放入另一个x位宽的数组中(如HDL中所示)。

2 个答案:

答案 0 :(得分:1)

绝对:只需添加!

假设您想要从alement n

开始访问数组
foo a[100];
foo *b=a+n;

b现在是从位置n开始的数组的名称,

另一方面,C不执行最小基元类型为char的位数组。 比特范围是一种特殊情况.....所以不可能以这种方式模仿。

答案 1 :(得分:0)

您可以使用memcpy

void *memcpy(void *dest, const void *src, size_t n);

例如:

size_t x = ...; // the number of continuous elements to copy.
uint32_t src[n];
uint32_t dest[x];

memcpy(dest, src, sizeof(uint32_t) * x);

另外,请务必添加string.h标题。