Не совсем понятно, что значит переменная должна работать с функциями. Возможно Вы имели ввиду, что переменная должна быть доступна из функций. Тогда решение в лоб:
функция1()
переменная
функция2()
функция3()
таким образом, функция2 и функция3 смогут работать с переменной, а функция1 - нет.
Но лучше сделать, как предложил
GavriKos :
функция1()
функция2(переменная*)
функция3(переменная*)
таким образом от порядка объявления функций ничего не зависит, и Вы избавляетесь от возможных
побочных эффектов в своей программе