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

การทำงานของหน่วยความจำในภาษา C คืออะไร?


ไลบรารี #include มีการทำงานของหน่วยความจำพื้นฐาน แม้ว่าจะไม่ใช่ฟังก์ชันสตริงที่เคร่งครัด แต่ฟังก์ชันเหล่านี้สร้างต้นแบบใน #include .

การทำงานของหน่วยความจำเหล่านี้มีดังนี้ -

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

โปรดทราบว่าในทุกกรณีไปยังไบต์ของหน่วยความจำจะถูกคัดลอก ฟังก์ชัน sizeof() กลับมาสะดวกอีกครั้ง

memcpy(dest, src, SIZE); คัดลอกอักขระ (ไบต์)
memcpy(idest, isrc, SIZE*sizeof(int)); คัดลอกอาร์เรย์ของ ints


memmove() behaves in exactly the same way as memcpy() except, that the source and destination locations may overlap.


memcmp() is similar to strcmp() except here, unsigned bytes are compared and returns less than zero if si is less than s2 etc.

ตัวอย่างเช่น

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