Содержание
- 2. Массивы Инициализация массивов. Размерность массива. Динамические массивы. Многомерные массивы.
- 3. МАССИВЫ. Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Каждая отдельная величина называется компонентой массива. Вся
- 4. МАССИВЫ. Элементы массива нумеруются с нуля. При описании массива используются те же модификаторы, что и для
- 5. Инициализация массивов Инициализирующие значения для массивов записываются в фигурных скобках. Значения элементам присваиваются по порядку.
- 6. Инициализация массивов Если элементов в массиве больше, чем инициализаторов, элементы, для которых значения не указаны, обнуляются.
- 7. Размерность массива Размерность массива может быть задана только целой положительной константой или константным выражением Последний элемент
- 8. Размерность массива Если при описании массива не указана размерность, должен присутствовать инициализатор. в этом случае компилятор
- 9. Размерность массива Для доступа к элементу массива после его имени указывается номер элемента (индекс) в квадратных
- 10. При обращении к элементам массива автоматический контроль выхода индекса за границу массива не производится.
- 11. Размерность массива // подсчитывается сумма элементов массива #include int main(){ const int n = 10; int
- 12. Размерность массива Идентификатор массива является константным указателем на его нулевой элемент для массива из предыдущего листинга
- 13. Размерность массива // программа копирует все элементы массива a в массив b int а[100], b[100]; int
- 14. Динамические массивы Динамические массивы создают с помощью операции new, при этом необходимо указать тип и размерность.
- 15. Динамические массивы нельзя инициализировать при создании, и они не обнуляются!!!
- 16. Динамические массивы int n = 100; float *р = new float [n]; создается указатель на float,
- 17. Динамические массивы например, к элементу номер 5 приведенного выше массива можно обратиться как р[5] или *(р+5).
- 18. Динамические массивы int n = 100; float *q = (float *) malloc(n * sizeof(float)); Операция преобразования
- 19. Динамические массивы Память, зарезервированная под динамический массив с помощью new [], должна освобождаться оператором delete[], а
- 20. Многомерные массивы Многомерные массивы задаются указанием каждого измерения в квадратных скобках.
- 21. Многомерные массивы Пример: int matr [6][8]; В памяти такой массив располагается в последовательных ячейках построчно. Многомерные
- 22. Многомерные массивы Для доступа к элементу многомерного массива указываются все его индексы. например, matr[i][j] или более
- 23. М А С С И В Ы При инициализации многомерного массива он представляется : либо как
- 24. Динамические многомерные массивы Динамические многомерные массивы Для создания динамического многомерного массива необходимо указать в операции new
- 25. Динамические многомерные массивы Более универсальный и безопасный способ выделения памяти под двумерный массив, когда обе его
- 26. Динамические многомерные массивы Процессы, происходящие в памяти при выполнении предыдущего фрагмента программы можно проиллюстрировать следующей схемой:
- 27. Динамические многомерные массивы Освобождение памяти из-под массива с любым количеством измерений выполняется с помощью операции delete
- 28. Указатель на константу удалить нельзя!!!
- 29. Обратите внимание Если при описании переменной используются одновременно префикс * (указатель) и суффикс [] (массив), то
- 30. Строки
- 31. СТРОКИ. Строка представляет собой массив символов, заканчивающийся нуль-символом. Нуль-символ — это символ с кодом, равным 0,
- 32. С Т Р О К И Строку можно инициализировать строковым литералом: char str[10] = "Vasia"; //
- 33. С Т Р О К И Если строка при определении инициализируется, ее размерность можно опускать компилятор
- 34. С Т Р О К И Оператор char *str = "Vasia" создает не строковую переменную, а
- 35. Знак равенства перед строковым литералом означает инициализацию, а не присваивание!!!
- 36. С Т Р О К И Операция присваивания одной строки другой не определена и может выполняться
- 37. С Т Р О К И Пример : // Программа запрашивает пароль не более трех раз.
- 38. С Т Р О К И При работе со строками часто используются указатели Очевидный алгоритм имеет
- 39. С Т Р О К И Более эффективным будет использовать проверку на нуль-символ непосредственно в программе:
- 40. Обратите внимание В приведенном примере, результат операции присваивания — передаваемое значение, которое, собственно, и проверяется в
- 41. С Т Р О К И Оба способа работы со строками (через массивы или указатели) приемлемы
- 42. С Т Р О К И Распространенные ошибки при работе со строками: отсутствие нуль-символа выход указателя
- 44. Скачать презентацию