МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

Строки (описание и инициализация строк). Приведите примеры.





Для представления текстовой информации в языке С используются символы (константы), символьные переменные и строки (строковые константы), для которых в языке С не введено отдельного типа в отличие от некоторых других языков программирования.

Строковая константа определяется как последовательность символов, заключенных в двойные кавычки, например: “Строка”. Среди символов могут быть эскейп-последовательности, т. е. сочетания знаков, соответствующие неизображаемым символам, или символам, задаваемым их внутренними кодами. Например: “\nСтрока с использованием управляющих кодов. \n”.

Все символы строки размещаются в памяти подряд, и каждый символ (в том числе представленный эскейп-последовательностями) занимает ровно один байт. В конце записи строковой константы компилятор помещает символ ‘\0’.

Строка – это массив символов, т. е. она всегда имеет тип char[]. Количество элементов в таком массиве на один больше, чем в изображении соответствующей строковой константы.

Присвоить значение массиву символов с помощью обычного оператора присваивания нельзя. Поместить строку в массив можно при инициализации.

Таким образом, описание строки может быть выполнено одним из следующих способов:

char string1[50]; – где 50 – максимальное допустимое количество символов в строке.

char string2[]={‘С’, ‘т’, ‘р’, ‘о’, ‘к’, ‘а’, ‘1’, ‘.’, ‘\0’}; – помещение строки в массив при инициализации.

char string3[] =”Еще один пример строки, описанной при инициализации”;

Кроме перечисленных способов поместить строку в массив можно с помощью функций ввода. В функциях printf(), scanf() для символьных строк используется спецификация преобразования %s.

char str[]=”String one”;

printf(“%s”,str);

Работа с символьными строками – это работа с массивами типа char. При этом следует помнить об обязательном присутствии в конце строки символа ‘\0’.

Кроме описанных выше, существует еще один способ описания строковых констант. Такой способ возможен только для массивов символов и выглядит следующим образом:

char *str;

char *str1=”Строка, описанная при помощи указателя.”;

Использование указателей, а не массивов фиксированной длины целесообразно, когда предложения или слова должны быть разной длины.

Пример:

#include<stdio.h>

void main (){

char *str[] ={“Обработка”, “предложений”, “или”, “слов”, “каждое”, “из”, “которых”, “представлено”, “в”, “виде”, “строки”, “.”};

int i,n;

n=sizeof(str)/sizeof(str[0]);

for (i=0;i<n;i++)

printf(“%s”,str[i]);}

Строки в качестве параметров функций.

Смотреть ЛАБ 6

Строки и указатели.

Для представления текстовой информации в языке С используются символы (константы), символьные переменные и строки (строковые константы), для которых в языке С не введено отдельного типа в отличие от некоторых других языков программирования.

Строка – это массив символов, т. е. она всегда имеет тип char[]. Количество элементов в таком массиве на один больше, чем в изображении соответствующей строковой константы.

Присвоить значение массиву символов с помощью обычного оператора присваивания нельзя. Поместить строку в массив можно при инициализации.

Таким образом, описание строки может быть выполнено одним из следующих способов:

char string1[50]; – где 50 – максимальное допустимое количество символов в строке.

char string2[]={‘С’, ‘т’, ‘р’, ‘о’, ‘к’, ‘а’, ‘1’, ‘.’, ‘\0’}; – помещение строки в массив при инициализации.



char string3[] =”Еще один пример строки, описанной при инициализации”;

Кроме перечисленных способов поместить строку в массив можно с помощью функций ввода. В функциях printf(), scanf() для символьных строк используется спецификация преобразования %s.

char str[]=”String one”;

printf(“%s”,str);

Работа с символьными строками – это работа с массивами типа char. При этом следует помнить об обязательном присутствии в конце строки символа ‘\0’.

В языке С указатели введены как объекты, значениями которых служат адреса других объектов либо функций.

Указатель – это адрес памяти. Значение указателя сообщает о том, где размещен объект, но не говорит о самом объекте. Как и всякие переменные, указатели нужно определять и описывать. Символ операции ‘*’ используется для задания “указателя на” объект. Кроме разделителя ‘*’, в определения и описания указателя входят спецификации типов, задающих типы объектов, на которые ссылаются указатели.

Например: int *ptr;

Данное определение следует понимать как “ptr является указателем на целое”. Указатель на тип void совместим с любым указателем. Например, если задано

void *x;

int *y;

то допустимо следующее присваивание y=x;

В общем случае переменная типа указатель описывается так:

тип *переменная_указатель

Двумя наиболее важными операциями, связанными с указателями, является операция обращения по адресу * (иногда называется операцией снятия ссылки или разыменования) и операция определения адреса &.





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.