Q:

Compartir variables entre funciones

¿Alguien sabe cómo hago para mostrar pos1 y pos2 pero en la otra función? ¿Qué parámetros tendría que usar? a todo esto, tiene que ser void si o si la función.
void encontrarMinimoMatriz(float m[][MESES], int cant,int pos1, int pos2){
    int minimo = m[0][0];
    for (int i=0;i<cant;i++){
        for (int j=0;j<MESES;j++){
            if(m[i][j] < minimo){
                minimo = m[i][j];
                pos1 = i;
                pos2 = j;
            }
        }
    }
}

void mostrarMinimo(float m[][MESES], int cant,int pos1, int pos2){
    printf("\n-------------------------------\n");
    printf("el minimo esta en: \n %d %d",pos1,pos2);
}

A:

Usa punteros:
void encontrarMinimoMatriz(float m[][MESES], int cant,int *pos1, int *pos2){
    int minimo = m[0][0];
    for (int i=0;i<cant;i++){
        for (int j=0;j<MESES;j++){
            if(m[i][j] < minimo){
                minimo = m[i][j];
                *pos1 = i;
                *pos2 = j;
            }
        }
    }
}

Con punteros podrás extraer el valor de dentro de la función al punto de llamada de la función, luego se lo puedes pasar a cualquier otra función:
int main(void)
{
    float matriz[10][MESES] = { /* Datos */ };
    int pos1 = 0, pos2 = 0;

    encontrarMinimoMatriz(matriz, 10, &pos1, &pos2);
    mostrarMinimo(matriz, 10, pos1, pos2);

    return 0;
}

