Лучший способ сохранить эту информацию, например, в структуре:
typedef struct {
int *array;
int elements;
} list_s;
Реализовать все необходимые функции, такие как создание, уничтожение, проверка равенства и все остальное, что вам нужно. Это легче передать в качестве параметра.
Используйте отрицательный просмотр вперед:
^(?!Default)[a-zA-Z]+$