Macro va_end() trong C (chi tiết nhất)
Macro va_end() trong C
Macro void va_end(va_list ap) trong Thư viện C cho phép một hàm có số tham số biến đổi mà sử dụng macro là va_start để trả về. Nếu va_end không được gọi trước khi trả về từ hàm đó, thì kết quả là không được định nghĩa.
Khai báo Macro va_end() trong C
Dưới đây là phần khai báo cho va_end() macro.
void va_end(va_list ap)
Tham số
ap − Đây là đối tượng va_list được khởi tạo trước đó bởi va_start trong cùng hàm.
Trả về giá trị
Macro này không trả về bất cứ giá trị nào.
Ví dụ
Chương trình C sau minh họa cách sử dụng của va_end() macro.
#include#include int mul(int, ...);int main() { printf("11 * 15 = %d\n", mul(2, 11, 15) ); return 0; }int mul(int num_args, ...) { int val = 1; va_list ap; int i; va_start(ap, num_args); for(i = 0; i < num_args; i++) { val *= va_arg(ap, int); } va_end(ap); return val; }
Biên dịch và chạy chương trình C trên sẽ cho kết quả:
Các bài Thư viện C phổ biến khác tại VietJack:
stdarg-h-trong-c.jsp
Bài viết liên quan