Thứ Tư, 12 tháng 7, 2017

Nhiều hàm trong C có số lượng tham số và kiểu tham số tùy ý, ví dụ
printf(“%d %d %f %ld %s”,m,n,x,k,mahh); có 6 tham số.

1. Với loại hàm này yêu cầu:
– Tham số đầu tiên có kiểu phải rõ ràng. Các kiểu này phải được định nghĩa từ trước.
– Các tham số còn lại được trình bày bằng dấu ba chấm …
– Không biết được số lượng tham số và kiểu tham số đối với các tham số thêm. Vì thế ta phải biết trước số lượng và kiểu tham số, hoặc các tham số đầu tiên cho ta biết thông tin này, hoặc có dấu hiệu nào đó khác để biết kết thúc tham số thêm.
=> Vì vậy một hàm có thể định nghĩa là func1(char*, …) hoặc func2(int, char*, int, …), …

2. Các macro và kiểu dữ liệu va_list được định nghĩa trong <cstdarg>:
va_list: kiểu dữ liệu chứa các tham số có trong …
void va_start(va_list ap, lastfix) : macro thiết lập ap chỉ đến tham số đầu tiên trong … với lastfix là tên tham số cố định cuối cùng.
type va_arg(va_list ap, type) : macro trả về tham số có kiểu type tiếp theo.

void va_end(va_list ap) : macro giúp cho hàm trả về giá trị một cách “bình thường”.

0 nhận xét:

Đăng nhận xét

Categories

Sample Text

Được tạo bởi Blogger.

Must Read

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Popular Posts

Video

Popular Posts

Our Facebook Page