save serial data to variable?

I've been busy the past few days but I'm wondering if this would work. make 2 new arrays called tempLat and tempLong

tempLat[10] //0-9 for the lat digits, 10 for null
tempLong[11] //0-10 for the long digits, 11 for null

        for (int i=0;i<12;i++){
           switch(i){
             case 0 :Serial.print("Time in UTC (HhMmSs): ");break;
             case 1 :Serial.print("Status (A=OK,V=KO): ");break;
             case 2 :Serial.print("Latitude: ");break;
             case 3 :Serial.print("Direction (N/S): ");break;
             case 4 :Serial.print("Longitude: ");break;
             case 5 :Serial.print("Direction (E/W): ");break;
             case 6 :Serial.print("Velocity in knots: ");break;
             case 7 :Serial.print("Heading in degrees: ");break;
             case 8 :Serial.print("Date UTC (DdMmAa): ");break;
             case 9 :Serial.print("Magnetic degrees: ");break;
             case 10 :Serial.print("(E/W): ");break;
             case 11 :Serial.print("Mode: ");break;
             case 12 :Serial.print("Checksum: ");break;
           }
           for (int j=indices[i];j<(indices[i+1]-1);j++){
             int n=0;
             int m=0;
             Serial.print(linea[j+1]);
             if (i == 2)
             {
               tempLat[n] = linea[j+1];
               n++;
             }
             if (i == 4)
             {
               tempLong[m] = linea[j+1];
               m++;
             }
           }

now what about that code? I know n=0 and m=0 there is dumb but thats just to show the variables. In actuality I would set them to 0 at the beginning of the loop function. However, I think this would store the latitude and longitude each as their own array of chars. Then I could atoi each array right? and then I'd have each array stored into an int?

Also, these numbers are going to have 4 decimal places, so I have to use floats? so I'd use atof instead of atoi?