1

ループを使用せずに配列を別の配列内に配置する方法はありますか? このループは少し奇妙に感じます:

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];
4

2 に答える 2

16
memcpy(&buf1[1], &buf0[0], sizeof buf0);
于 2013-09-23T06:57:35.350 に答える
0

コピーを避けるために、最初に N 個の要素を動的reallocに 2N に割り当てることができます。とにかくフロント要素を追加する必要がある場合は、コピーを回避するためにリング/循環バッファーの実装が役立つ可能性があります。

于 2015-09-28T14:21:40.057 に答える