有没有办法在不使用循环的情况下将数组放在另一个数组中?这个循环感觉有点奇怪:
uint8_t buf0[50];
populate_buf( buf0 );
uint8_t buf1[100];
buf1[0] = 'S';
for ( uint8_t i = 0; i < 50; i++ )
buf1[1+i] = buf0[i];
答案 0 :(得分:16)
memcpy(&buf1[1], &buf0[0], sizeof buf0);
答案 1 :(得分:0)
为避免复制,您最初可以动态分配N个元素,并将realloc
分配给2N。如果你必须添加一个前面的元素,环形/循环缓冲区实现可以用来逃避复制。