Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Строковые указатели



Строковые указатели являются не строками, а указателями, т.е. адресами, которые определяют местонахо­ждение первого символа строки, сохраненной где-то в памяти. Строковые указатели объявляются как char * или, чтобы операторы не могли изменить адресуемые ими данные, как const char *

Вот несколько примеров:

char *stringPtr; /* Строковый указатель */

const char *fixedString; /* Указатель на фиксированную строку */

char far •stringPtr; /* Дальний указатель на строку */

В строковых указателях нет ничего особенного - они просто указывают на массив значений типа char и ведут себя аналогично другим указателям (см. главу 5). Существует много функций, которые обрабатывают строки, адресуемые строковыми указателями, и объявления char * очень распространены.

Чтобы выделить память в куче для строкового указателя, вызовите функцию malloc() и задайте размер, в который не забудьте включить один дополнительный байт для завершающего нуля. Оператор

stringPtr = (char *) malloc(81);

резервирует 81 байт памяти в куче и присваивает указателю stringPtr адрес первого байта. Строка может со­держать до 80 символов плюс завершающий нуль. По окончании работы со строкой вызовите функцию free(), чтобы вернуть зарезервированную память обратно в кучу, сделав ее доступной для будущих вызовов функции malloc():

free(stringPtr);

Вспомните, что массивы и указатели эквивалентны. Чтобы обратиться к отдельным символам строки, нуж­но использовать индексные выражения. Например, чтобы отобразить третий символ в строке, адресуемой ука­зателем stringPtr, можно написать:

printf("%c", stringPtr[2]);

При подобном индексировании строк лишь на вас лежит ответственность за то, что в указанном месте на­ходится допустимый символ. Если адресуемая строка содержит меньше трех значащих символов, то это выра­жение, вероятно, отобразит некорректную информацию.





Дата публикования: 2015-01-23; Прочитано: 214 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...