Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Все КОНСТАНТЫ имеют тип double!






 

float step_x=0.01, step_y=0.5;

double koord_x, koord_y;

IBM PC байты диапазон
float   3.4e–38< |x|< 3.4e38
double   1.7e–308< |x|< 1.7e308
long double   1e–3000< |x|< 1e3000(приблизительно)

 

· Символы (знаки)

 

Для переменных символьного типа используют служебное слово char (character). Длина переменной – 1 байт. Диапазон значений [–128, 127].

Обратите внимание: тип char может являться как знаковым, так и беззнаковым, в зависимости от конкретного компилятора. Т.е. переменные типа char так же могут быть модифицированы с использованием модификаторов unsigned / signed. Поэтому, чтобы быть уверенным в допустимых значениях, используйте типы signed char и unsigned char.

 

Пример: char array_name, step;

 

· Логические данные

 

В Си нет. Замена – целые. 0 à false, (НЕ)0 à true

 

 

2.3 Указатели

Указатели (ссылки) – это переменные, показывающие место или адрес памяти, где расположены другие объекты (переменные, функции и т.п.). Т.к. указатель содержит адрес некоторого объекта, то через него можно обращаться к этому объекту.

У такого выражения есть АДРЕС, ТИП и, разумеется, ЗНАЧЕНИЕ. Но у него нет ИМЕНИ И нет ОБЛАСТИ ВИДИМОСТИ.

 

 

Формат: описания переменной указателя

< тип> *< имя> [, *< имя> ]...;

 

Объекты, состоящие из знака * и адреса необходимо объявлять!

Объявление вида: char *d; говорит о том, что значение, записанное по адресу d, имеет тип char.

Пример:

int *kol, *num; Признаком указателя служит *.

double *lenght;

Операции над указателями: над указателями определены две унарные операции: & *

Унарная операция & возвращает адрес объекта в явном виде, поэтому оператор:

y = & x;

присваивает адрес x переменной y. Операцию & нельзя применять к константам и выражениям. Операция применима только к объектам, имеющим имя и размещенным в памяти.

Унарная операция * воспринимает свой операнд как адрес некоторого объекта и использует этот адрес для выборки содержимого. Поэтому, оператор:

z = *y;

присваивает z значение переменной, записанной по адресу y.

int *a; Объявляет переменную a типа «указатель на int», то есть содержащую адрес некоторого целого значения.
& x Возвращает адрес переменной a
*p Возвращает " переменную" по адресу, находящемуся в переменной p.

 

Пример: int x, y, *px;

px=& x;

y=*px;

Это эквивалентно y = x;

Указатели могут встречаться в выражениях. Если y – указатель на целое (int *y;), то *y может появляться там же, где и любая другая переменная, не являющаяся указателем.

Пример:

*y = 7; //заносим 7 в ячейку памяти по адресу y

*x = *x*5; //увеличиваем значение по адресу x в 5 раз

(* z)++; //добавляем 1 к содержимому ячейки памяти с адресом z, круглые скобки обязательны



Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал