Lies dir mal ein Tutorial über C Strings durch. z.B.:
Wenn du da oben im Inhaltsverzeichnis schaust werden auch die wichtigsten Funktionen von string.h erklärt.
Generell sei noch gesagt, dass Arrays in C nicht viel mehr als syntaktischer Zucker für Zeiger sind. Array Variablen sind lediglich ein Zeiger auf das erste Element.
Wenn du also das machst:
char filename[13]="gpslg";
Ist filename ein char*. Ein Zeiger auf char. Eine Funktion die einen C String als Parameter hat, hat daher einen char* als Parameter. Das const heißt, dass die Funktion den String nicht verändern kann.
Außerdem solltest du wissen, dass C Strings Null-terminiert sind. Am Ende steht immer ein '\0', damit man weiß wann der String zu Ende ist. Char Arrays müssen daher immer eins größer als der sichtbare String sein!