Начинающие изучать язык "с" иногда становятся в тупикперед вопросом о различии между двумерным массивом и масси-вом указателей, таким как NAME в приведенном выше примере.Если имеются описания INT A[10][10];INT *B[10]; то A и B можно использовать сходным образом в том смысле,что как A[5][5], так и B[5][5] являются законными ссылкамина отдельное число типа INT. Но A - настоящий массив: поднего отводится 100 ячеек памяти и для нахождения любого ука-занного элемента проводятся обычные вычисления с прямоуголь-ными индексами. Для B, однако, описание выделяет только 10указателей; каждый указатель должен быть установлен так,чтобы он указывал на массив целых. если предположить, чтокаждый из них указывает на массив из 10 элементов, то тогдагде-то будет отведено 100 ячеек памяти плюс еще десять ячеекдля указателей. Таким образом, массив указателей используетнесколько больший объем памяти и может требовать наличие яв-ного шага инициализации. Но при этом возникают два преиму-щества: доступ к элементу осуществляется косвенно через ука-затель, а не посредством умножения и сложения, и строки мас-сива могут иметь различные длины. Это означает, что каждыйэлемент B не должен обязательно указывать на вектор из 10элементов; некоторые могут указывать на вектор из двух эле-ментов, другие - из двадцати, а третьи могут вообще ни начто не указывать. Хотя мы вели это обсуждение в терминах целых, несомнен-но, чаще всего массивы указателей используются так, как мыпродемонстрировали на функции MONTH_NAME, - для хранениясимвольных строк различной длины. Упражнение 5-6 -------------- Перепишите функции DAY_OF_YEAR и MONTH_DAY, используявместо индексации указатели.