Каков правильный синтаксис для вложенных функций в GCC?

Итак, вот оригинальный исходный код (без функции main (), но это не важно):

u_long nextrpm(u_long rpm)
{


   u_long num  = rpm;
   u_long maxrpm = 8*num;
   u_int n = log10(num) + 1;



   u_long L = rpm*10;
   u_int  ssd = 0;
   u_int  D[n];

   for(u_int i = 0; i < n ; i++){

       L = L/10;
       D[i] = (L%10);

   }


   for(u_int j = 0; j < n; j++){

     ssd = ssd + (D[j]*D[j]);

   }

   char buf[n];
   sprintf(buf,"%lu",num);



   char sbuf[n];
   sbuf [0]  = buf[n-1];
   sbuf [n-1] = buf[n-2];


   for(u_int i = 1; i < (n-1); i++){

        sbuf[i]= buf[i-1];    
   }

   u_long b1  = (u_long)atol(sbuf);
   u_int  b2  = (u_int)(b1 % 100);



   u_long result = (323*ssd)+b2;

   return (result);

}

u_long newrpm(u_long rpm, u_int y)
{


    u_long frpm = nextrpm(rpm);
    u_long maxrpm = 8*rpm;
    u_long tempo;
    u_int  years = 1;   
    bool   halt =   false;


    while(halt==false){

         tempo = nextrpm(frpm);

         if(tempo >= maxrpm){
                halt = true;  
         }

         frpm = tempo;
         years++;

         if(years >= y){
                halt = true;
         }
     }


    return frpm; 


}

Теперь я хочу вставить функцию nextrpm() в тело функции newrpm () как вложенную функцию. Итак, каков правильный синтаксис для вложенных функций, подобных этой, с помощью GCC? Нужны ли какие-либо специальные идентификаторы или просто копировать-вставить?

0 ответов

Другие вопросы по тегам