Возможно ли создать массив неопределенной длины И размера в c ?

#c #arrays

#c #массивы

Вопрос:

Итак, я хотел создать массив размером NxN. Я знаю, что это возможно сделать с одним измерением, но могу ли я сделать это с двумя? Вот мой код: list_length определен выше как число int и представляет собой сумму строк в текстовом файле.

 while (row_size_t==false)
{
    cout << "How many rows?" << endl;
    cin >> rows;
    if (rows<=0)
    {
        cout << "wrong value" << endl;
    }
    else
    {
        row_size_t = true;
    }
}
int* joker_array = new int [list_length][rows];
  

Комментарии:

1. Используйте std::vector<std::vector<int>>

2. Да, вы можете сделать это с таким количеством измерений, сколько вам нужно. Однако настройка будет усложняться с каждым добавленным измерением. std::vector делает то же самое, но будет намного проще в использовании.

3. std::vector<std::vector<T>> может содержать любое количество векторов, и эти векторы могут быть любого размера, однако это не лучшая структура данных, то, что использовать, зависит от конкретных потребностей

4. Имена, которые заканчиваются на _t , обычно являются именами типов. В системах POSIX они зарезервированы. Не используйте подобные имена для вещей, которые не являются типами. Измените row_size_t на то, что описывает, что он на самом деле делает. Может быть row_size_valid ?