аргументы в стеке будут идти подряд, один за одним а для разбора параметров существует два класических приема:1) Все аргументы должны быть одного и того же типа и используется какой-нибудь маркер конца списка аргументов, например, f1("arg1", "arg2", ... , "argN", "NULL"), где NULL и будет маркером конца аргументов.
2) Первый, обязательный аргумент может содержать либо количество принимаемых функцией аргументов, если они одного и того же типа, либо, как это используется в семействе функций printf форматная строка, на основе которой ты разбираешь все аргументы, т.е. их типы и количество.