3. Передавать и принимать в функциях данные в переменных можно и без промежуточных локальных переменных, используя глобальные.
unsigned long NIMP[8];
void mov_mas(int n, unsigned long *mas){
for (i=n;i>=1;i--){
mas[i] = mas[i-1]; // элемент с i-1 ставим на i
}}
Вызываем функцию, передавая ей входными параметрами число элементов, с которым работаем и указатель на целевой массив :
mov_mas(7,&NIMP[0]);
В принципе можно было бы сделать и так:
unsigned long NIMP[8];
unsigned char i, n;
void mov_mas(){
for (i=n;i>=1;i--){
NIMP[i] = NIMP[i-1]; // элемент с i-1 ставим на i
}
void main(){
////bla- bla
n=7;
mov_mas();
}
}
И что- то припоминается мне, что здесь уже рассказывалось неоднократно если не о конкретной реализации этих вариантов, то о их плюсах и минусах уж точно.