Sí se puede. Te explicaré antes de darte un ejemplo. Cuando tú creas una variable en una función, esta se vuelve temporal y local, por consiguiente, se borra al finalizar la función. Pero, C te permite crear una variable estática, este tipo de variable no se borrará y estará durante todo el tiempo de ejecución del programa.
Te dejo un pedazo de un código mío donde hago uso de ella.
Código C:
Ver originalconst char *
header_make (int numm)
{
static char tmp[255] = {0}; /* static = safe */
snprintf(tmp
, sizeof tmp
, SGET
"%i" EGET
, numm
);
return tmp;
}
Saludos.