سؤال

أنا أبحث من خلال بعض التعليمات البرمجية لأغراض التعلم. أنا أعمل من خلال هذا الجزء من الكود.

// 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؟

هل كانت مفيدة؟

المحلول

في C ، كل اسم صفيف هو مؤشر ، لذلك يعني BUF هنا أيضًا المؤشر الذي يشير إلى BUF [0].

نصائح أخرى

buf+1 يعادل &(buf[1])

buf+1 بالضبط مثل &(buf[1]). وبعبارة أخرى ، فإنه يعيد مؤشر إلى شخصية BUF الثانية (الفهرس 1).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top