+ 1

What is ... in c?

So i found this code across the internet #include<stdio.h> void dynamic(int s, ...) { printf("%d ", s); } int main() { dynamic(20, 40, 60, 80); dynamic(30, 60, 90); return 0; } when executed answer is 20 30, which i understand... but in void dynamic(int s,...) what is ... ?

2nd Mar 2018, 5:37 AM
Ayush walia
Ayush walia - avatar
1 Answer
+ 1
It's a way to define a variadic function, i.e. a function which can accept any number of arguments. To actually implement that behavior, your function need to use the `va_start`, `va_arg`, `va_end` macros defined in the `stdarg.h` header file. The function in the example doesn't implement that functionality, it just prints the first argument. https://en.cppreference.com/w/c/variadic
6th Jul 2024, 5:17 PM
Евгений
Евгений - avatar