1

私は学習目的でいくつかのコードを調べています。私はコードのこの部分を処理しています。

// e.g. const unsigned char data={0x1,0x7C ... }
unsigned char buf[40];
memset(buf,0,40);
buf[0] = 0x52;
memcpy(buf+1, data, length); // What does buf+1 do in this situation?

memcpyが呼び出される最後の行で、buf + 1は何をしますか?bufは文字配列なので、+ 1はそれに何をしますか?

4

4 に答える 4

5

buf+1と同等です&(buf[1])

于 2009-09-08T01:51:35.103 に答える
4

Cでは、すべての配列名がポインタであるため、ここでのbufは、buf[0]を指すポインタも意味します。「buf+1」は、「buf[1]」のアドレスを意味します。

于 2009-09-08T01:53:47.750 に答える
3

buf+1と同じ&(buf[1])です。つまり、bufの2番目(インデックス1)の文字へのポインタを返します。

于 2009-09-08T01:51:05.947 に答える
0

ポインタ演算(スタックオーバーフロー)

于 2009-09-08T01:53:15.843 に答える