Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
b[]配列を配列にコピーするには、次のようにa[]関数memcpyを使用できます。 memcpy(a,b,sizeof(a)). ただしmemcpy、バイトをある場所から別の場所にコピーするだけです。 私の質問は次のとおりです。
b[]
a[]
memcpy
memcpy(a,b,sizeof(a))
1.バイトをコピーしてmemcpy配列の要素をコピーする方法は? 2.が引数として提供されるのはなぜですか? b[]a[]sizeof(a)
sizeof(a)
私はプログラミングが初めてなので、優しくしてください。
最初の質問は興味深い質問です。はい、単純なバイナリ コピーですが、コピーの順序が重要です。たとえば、重なっている領域があり、&a[0] > &b[0] の場合、どうなるでしょうか? 左から右の場合、memcpy はコピー中に b[] からのデータを単純に上書きします。
私の知る限り、コピーの特定の順序は標準によって指定されておらず、より安全な代替手段として代わりに memmove を使用することをお勧めしますが、それでも.