Массивы, так же как и простые переменные, можно передавать в процедуры и функции в
качестве параметров. Рассмотрим, например, функцию, вычисляющую сумму элементов массива. Желательно сделать ее так, чтобы в нее можно было передавать массивы любого размера, и она всегда правильно вычисляла результат. Для этого функция должна знать (или определить)размер массива. В языке Си функции не могут самостоятельно определять размер массива, поэтому он должен быть обязательно одним из параметров.
Обратите внимание, что в заголовке функции размер массива указан отдельно, нельзя объявлять массив-параметр как A[N], а только как A[]. С другой стороны такая запись возможна только в заголовках функций, поскольку при этом не надо выделять новую память под массив.Объявлять локальный или глобальный массив, не указав явно его размер, нельзя.Для вызова приведенной функции в параметрах надо указать название массива (без скобок) и его размер.
Символьные строки
Что такое символьная строка?
|
|
Понятно, что символьная строка – это последовательность символов. Мы будем рассмат-
ривать строки, в которых на каждый символ отводится 1 байт. В этом случае можно использовать 28=256 различных символов. Каждый символ имеет свой код (от 0 до 255), эти коды определяются по специальной таблице.
Строка, как и другие переменные, записывается в память, причем компьютеру все равно,
какие данные записаны – для него это набор байтов. Как же определить, где заканчивается
строка? Есть два решения:
1) хранить длину строки в отдельной ячейке (как в языке Паскаль);
2) выбрать один особый символ, который будет обозначать конец строки, причем в середине строки этот символ не может встречаться.
В языке Си принят второй подход.
Символьная строка – это последовательность символом, которая заканчивается символом с кодом 0.
Символ с кодом ноль не имеет никакого изображения, в программе его записывают как '\0' .
Символ с кодом ноль (обозначается как '\0') и цифра ноль (обозначается '0', имеет код
48) – это два разных символа.