Как изменить 2D-массив с динамического на статический определенного размера? - PullRequest
0 голосов
/ 29 июня 2009

У меня сейчас есть динамический массив:

char *myData[500][10]; //myData is the name of an array of[500][10] pointers to type char.  

Я хотел бы создать статический 2d массив, 500 строк X 10 столбцов, каждый элемент хранит память на 40 символов.

Будет ли ниже правильный способ объявить это?

char myData[500][10][40];

1 Ответ

5 голосов
/ 29 июня 2009

Да.

Но

  • Это большая структура, и объявление ее в стеке может быть не очень хорошей идеей
  • Этот подход обладает меньшей гибкостью, чем динамическая версия
  • если вы хотите использовать завершенные строки NULL с длиной до 40 символов данных, вы должны использовать [500][10][41], чтобы оставить место для \0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...