Lập trình C nâng cao - Fit Lec 3 (HUST) GV.AnhTT
- Seiten
- 11
- Định dạng
- Dung lượng
- 122 KB
- Trường
- Đại học Bách khoa Hà Nội
- Aufrufe
- 0
- Kommentare
- 0
- Lượt tải
- 0
Vorschau wird generiert...
Slide bài giảng về lập trình generic trong C, giới thiệu khái niệm generic programming và cách xây dựng các hàm generic như memcpy, search, sort sử dụng con trỏ hàm để xử lý dữ liệu tổng quát.
- Dokumentenname
- Lập trình C nâng cao - Fit Lec 3 (HUST) GV.AnhTT
- Schule / Kurs
- Đại học Bách khoa Hà Nội · Lập trình C
- Autor (im Dokument)
- AnhTT
- Inhalt
- Tài liệu này hướng dẫn về lập trình generic trong C, minh họa bằng hàm memcpy và cách xây dựng các hàm generic khác như tìm kiếm và sắp xếp, sử dụng con trỏ void* và con trỏ hàm để đạt được tính tổng quát.
- Inhaltsverzeichnis
- Generic programming
- Introduction
- memcpy
- Generic functions
- Implementation (1)
- Implementation (2)
- How to use ?
- Quiz 1
- Instruction
- Solution
- Seiten
- 11 Seiten
- Hochgeladen von
- lienhejb
Beschreibung
Trích nội dung tài liệu
Generic programming anhtt-fit@mail.hut.edu.vn dungct@it-hut.edu.vn Introduction Generic programming is about generalizing software components so that they can be easily reused in a wide variety of situations. As a simple example of generic programming, the memcpy() function of the C standard library is a generic function to copy data from a container to another. void* memcpy(void* region1, const void* region2, size_t n); The memcpy() function is already generalized to some extent by the use of void* so that the function can be used to copy arrays of different kinds of data. Generally, to copy data we need to know only the address and the size of the container to copy. 1 memcpy An implementation of memcpy() might look like the following: void* memcpy(void* region1, const void* region2, size_t n) { const char* first = (const char*) region2; const char* last = ((const char*) region2) + n; char* result = (char*) region1; while (first != last) *result++ = *first++; return result; } Generic functions In a generic function, data should be passed in a generic way (by address and size). If the algorithm demands a specific function to manipulate data (e.g.., compare two values), such a function should be passed using a function pointer. Example: A generic search function on an array. How to pass data to this function ? How the algorithm can detect if two data items in the array is equal or not ? 2 Implementation (1) A generic data array should be passed as the following parameters void * buf: the address of the buffer containing the array’s data int size: the size of a data item in the array int total: the total number of data items in the array The search algorithm need also a function to compare the data items in the array for searching. A data item passe
Häufig gestellte Fragen
Ist dieses Dokument kostenlos?
Ja. „Lập trình C nâng cao - Fit Lec 3 (HUST) GV.AnhTT“ ist kostenlos — melden Sie sich einfach an und klicken Sie auf Herunterladen, um die Originaldatei zu erhalten.
Wie viele Seiten hat dieses Dokument?
Das Dokument hat 11 Seiten, für den Kurs Lập trình C. Sie können es vor dem Herunterladen online in der Vorschau ansehen.
Kann ich vor dem Herunterladen eine Vorschau ansehen?
Ja. Sie können sich dieses Dokument direkt auf dieser Seite im Online-Reader ansehen und dann entscheiden, ob Sie es herunterladen möchten.
Lập trình C nâng cao - Fit Lec 3 (HUST) GV.AnhTT
Vorschau wird generiert...
Trích nội dung tài liệu
Generic programming anhtt-fit@mail.hut.edu.vn dungct@it-hut.edu.vn Introduction Generic programming is about generalizing software components so that they can be easily reused in a wide variety of situations. As a simple example of generic programming, the memcpy() function of the C standard library is a generic function to copy data from a container to another. void* memcpy(void* region1, const void* region2, size_t n); The memcpy() function is already generalized to some extent by the use of void* so that the function can be used to copy arrays of different kinds of data. Generally, to copy data we need to know only the address and the size of the container to copy. 1 memcpy An implementation of memcpy() might look like the following: void* memcpy(void* region1, const void* region2, size_t n) { const char* first = (const char*) region2; const char* last = ((const char*) region2) + n; char* result = (char*) region1; while (first != last) *result++ = *first++; return result; } Generic functions In a generic function, data should be passed in a generic way (by address and size). If the algorithm demands a specific function to manipulate data (e.g.., compare two values), such a function should be passed using a function pointer. Example: A generic search function on an array. How to pass data to this function ? How the algorithm can detect if two data items in the array is equal or not ? 2 Implementation (1) A generic data array should be passed as the following parameters void * buf: the address of the buffer containing the array’s data int size: the size of a data item in the array int total: the total number of data items in the array The search algorithm need also a function to compare the data items in the array for searching. A data item passe
- Dokumentenname
- Lập trình C nâng cao - Fit Lec 3 (HUST) GV.AnhTT
- Schule / Kurs
- Đại học Bách khoa Hà Nội · Lập trình C
- Autor (im Dokument)
- AnhTT
- Inhalt
- Tài liệu này hướng dẫn về lập trình generic trong C, minh họa bằng hàm memcpy và cách xây dựng các hàm generic khác như tìm kiếm và sắp xếp, sử dụng con trỏ void* và con trỏ hàm để đạt được tính tổng quát.
- Inhaltsverzeichnis
- Generic programming
- Introduction
- memcpy
- Generic functions
- Implementation (1)
- Implementation (2)
- How to use ?
- Quiz 1
- Instruction
- Solution
- Seiten
- 11 Seiten
- Hochgeladen von
- lienhejb
Kommentare (0)
Noch keine Kommentare. Seien Sie der Erste!
Lập trình C nâng cao - Fit Lec 8 (HUST) GV.AnhTT
Lập trình C nâng cao - Fit Lec 5 (HUST) GV.AnhTT
Lập trình C nâng cao - Fit Lec 6 (HUST) GV.AnhTT
Lập trình C nâng cao - Fit Lec 10 (HUST) GV.AnhTT
Lập trình C nâng cao - Fit Lec 7 (HUST) GV.AnhTT
K5 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K2 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K3 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K4 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K1 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)

Kommentare (0)
Noch keine Kommentare. Seien Sie der Erste!