Хранение значений в функциях при многократном вызове
2/* сомнение относительно программы на языке Си, как хранить значения в функции,если я вызываю функцию, переменные инициализируются, а предыдущие значения удаляются, так как же я могу хранить значения в функциях*/
#include <avr io.h=""> #include <util delay.h=""> #include "buzzer.h" void ReachDestinationAvoidingNode(unsigned char Xd,unsigned char Yd,unsigned char Xn,unsigned char Yn) { } //Do not make changes in main function int main(void) { ReachDestinationAvoidingNode(5,'D',6,'D'); buzzer_on(); _delay_ms(500); buzzer_off(); ReachDestinationAvoidingNode(2,'F',2,'D'); buzzer_on(); _delay_ms(500); buzzer_off(); ReachDestinationAvoidingNode(2,'A',2,'C'); buzzer_on(); }
теперь, когда функция ReachDestinationAvoidingNode(5,'D', 6,'D') называется 5, значения D должны храниться и снова, когда функция ReachDestinationAvoidingNode(2,'F',2,'D') называется 5,значения D должны использоваться. как это сделать,
не нарушая основной код
Что я уже пробовал:
я пробовал брать переменные в функции ReachDestinationAvoidingNode() и хранить значения, но когда функция вызывается снова, переменные инициализируются, а значение удаляется;