This is called a variadic macro
It allows you to pass an arbitrary number of arguments to this macro and there are means to iterate over all of these.
As @user463035818 mentioned, your definition does not do anything. Hence, the call to it will simply be removed by the preprocessor.
Edit about the usage:
What you want to do here is likely a printf-like macro for debug output.
In this case you might want to write something like this:
#define DPRINTF(msg, ...) \
printf("[DEBUG at %s:%s]: %s", __FILE__, __LINE__, msg, __VA_ARGS__);
Note this is not tested.
This should print lines starting with the prefix noting "DEBUG" and the file and line it is called in, in combination with the user passed format literal and all arguments you want, e.g.:
// log something out
DPRINTF("Hello %s\n", "World")