Основы программирования на языке Си. Кучин Н.В - 47 стр.

UptoLike

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

47
Указатели можно сравнивать. Применимы все 6 операций сравне-
ния. Сравнение p<g дает “истинну”, если адрес, находящийся в p, мень-
ше адреса, находящегося в g. Если p и g указывают на элементы одного
массива, то индекс элемента, на который указывает p, меньше индекса
массива, на который указывает g.
4.6. Связь указателей и массивов
В языке С связь между массивами и указателями заключается в том,
что в объявленном массиве его имя является указателем на массив, а
точнее, на первый элемент объявленного массива. Таким образом, если
был объявлен массив int plus[20]; , то plus является указателем на мас-
сив, а операторы pl=plus; и pl=&plus[0]; приведут к одному и тому же
результату. Для того чтобы получить значение 8-го элемента массива
plus можно написать plus[7] или *(pl+7), если ранее в программе выпол-
нился оператор pl=plus;. Результат будет один и тот же. Преимущество
второго варианта заключается в том, что арифметические операции над
указателями выполняются быстрее, чем действия с элементами массива.
Многие программы связаны с обработкой текстов, которые можно
представлять как массивы строк. Строка – это массив символов. Рас-
смотрим примеры двух программ, выполняющих схожие действия:
# include < stdio.h >
# include < ctype.h >
/* Пример 26 */
main()
{
char str[]=”String From Letters in Different Registers”;
int i;
printf(“Строка Будет Напечатана Заглавными Буквами”);
while ( str[i] )
printf(“%c”, toupper(str[i++]));
}
# include < stdio.h >
# include < ctype.h >
main()
{
char str[]=”String From Letters in Different Registers”;