LINUX.ORG.RU

История изменений

Исправление KennyMinigun, (текущая версия) :

да, можно как-то так:

void func(int count, int param, ...) {
   int *argptr = &param;
   for (int i = 0; i < count; i++, argptr++) {
       printf("%d\n", *argptr);
   }
}

Только могут быть проблемы с типами, размер которых не равен размеру слова в стеке (в частности с double и прочими).

Исправление KennyMinigun, :

да, можно как-то так:

void func(int count, int param, ...) {
   int *argptr = ¶m;
   for (int i = 0; i < count; i++, argptr++) {
       printf("%d\n", *argptr);
   }
}

Только могут быть проблемы с типами, размер которых не равен размеру слова в стеке (в частности с double и прочими).

Исправление KennyMinigun, :

да, можно как-то так:

void func(int count, int param, ...) {
   int *argptr = &param;
   for (int i = 0; i < count; i++, argptr++) {
       printf("%d\n", *argptr);
   }
}

Только могут быть проблемы с типами, размер которых не равен размеру слова в стеке.

Исходная версия KennyMinigun, :

да, можно как-то так:

void func(int count, int param, ...) {
   int *argptr = &param;
   for (int i = 0; i < count; i++, argptr++) {
       printf("%d\n", *argptr);
   }
}