Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

Memory Operations ในภาษา C (ฟังก์ชันหน่วยความจำ)


คำอธิบาย

ไลบรารี (หรือ ) มีฟังก์ชันจัดการหน่วยความจำพื้นฐาน (Memory Operations) ทำงานระดับไบต์:

void *memchr(void *s, int c, size_t n)ค้นหาตัวอักษร c ในบัฟเฟอร์ s ขนาด n ไบต์
int memcmp(void *s1, void *s2, size_t n)เปรียบเทียบบัฟเฟอร์ s1 และ s2 ขนาด n ไบต์
void *memcpy(void *dest, void *src, size_t n)คัดลอก n ไบต์จาก src ไป dest
void *memmove(void *dest, void *src, size_t n)ย้าย n ไบต์จาก src ไป dest (รองรับทับซ้อน)
void *memset(void *s, int c, size_t n)ตั้งค่า n ไบต์ของ s เป็นค่า c

ข้อสังเกตสำคัญ

  • ทำงานระดับไบต์ (Byte-level) ใช้ sizeof() คำนวณขนาด
  • memcpy: ไม่รองรับการทับซ้อนของ src และ dest
  • memmove: รองรับการทับซ้อน (ปลอดภัยกว่า)
  • memcmp: เปรียบเทียบแบบ Unsigned byte คืนค่า <0, 0, >0

ตัวอย่างการใช้งาน

char src[SIZE], dest[SIZE];
int isrc[SIZE], idest[SIZE];

memcpy(dest, src, SIZE);                 // คัดลอก char array
memcpy(idest, isrc, SIZE * sizeof(int)); // คัดลอก int array