Каков правильный синтаксис для вложенных функций в 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? Нужны ли какие-либо специальные идентификаторы или просто копировать-вставить?