Основы программирования для автоматизированного проектирования и решения творческих задач - 25 стр.

UptoLike

Составители: 

*(*(*(B + i ) + j ) + k ) или *(B[i][j] + k ).
Устройство массивов в языке С позволяет связать с указателем как явно определенный массив, так
и динамический массив. В любом случае массив будет представлять собой последовательность ячеек
известной длины указанного базового типа, а указатель связывается с адресом первого элемента масси-
ва.
П р и м е р 16
int A[5], *Pa = A;
Доступ к элементам массива с помощью указателя может осуществляться двумя способами:
1) с помощью операции разыменования указателя '*'
*Pa;
здесь необходимо перемещаться по области памяти, выделенной под массив с помощью аддитивных
операций '+' и '-' или унарных '++' и '--'. Этот метод неприемлем для динамического массива, так как
может быть утерян адрес его начала;
2) с помощью операции индексирования элементов массива '[ ]'
Pa[i];
Так как имя А ассоциируется с адресом начала массива в памяти, а указатель Pa содержит этот адрес, то
операция индексирования может одинаково применяется к этим объектам. A[0] адресует тот же элемент
массива, что и Pa[0].
Для работы со стоками предусмотрено несколько функций, описанных в заголовочном файле
string.h:
char *strcat(char *Sp, char *Si); – приписывает строку Si к строке Sp;
int strcmp(char *Str1, char *Str2); – сравнивает строки Str1 и Str2;
Результат будет меньше нуля, если Str1 < Str2, будет равен нулю, если строки равны и будет больше ну-
ля, если Str1 > Str2 .
unsigned strlen(char *Str); – вычисляет длину строки в байтах.
В заголовочном файле stdio.h описаны функции:
int sscanf(char *S, char *format [, argument,...]); – функция форматированного извлечения информации из
строки S;
int sprint(char *S, char *format [, argument,...]); – функция форматированной записи информации в строку
S.
Приведем пример использования указателя для связи с динамическим массивом.
П р и м е р 17
int n = 5;
int *Pa = (int *) malloc(n * sizeof(int));
Созданный динамический массив не имеет своего имени, поэтому необходимо запомнить адрес его
начала в указателе, чтобы потом получить возможность использовать его элементы.