Есть ли способ передать указатель вместе с функцией без использования static
или глобальной переменной?В идеале я хотел бы видеть, что functiontimer определен примерно так: functiontimer(int *data, index)
Нет, это не так, и если вы включите функцию, которая ожидает дополнительный аргумент, такой как приведение его, как показано в вашемНапример, тогда неопределенное поведение возникает, когда система вызывает его с числом и типом аргументов, которые она ожидает использовать вместо количества и типа аргументов, которые функция фактически должна получить.
Неясно, для какой целиВы хотите предложенное поведение, но вполне возможно, что обработка сигнала не служит этой цели.Это, конечно, не служит цели, как вы надеетесь.