Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Переменные. Директива препроцессора define используется, что бы создать константы




Система типов

Define

Директива препроцессора define используется, что бы создать константы. Вот ее синтаксис:

 

#define идентификатор значение

 

Теперь давайте разберем принцип работы define. Перед компиляцией программы, во всех местах, где используется наш идентификатор, будет произведена замена его на значение, которое мы указали там же. Вот пример говорящий о его полезности:

 

#define SIZE 5

for (int i=0; i < SIZE; i++){

for (int j=0; j < SIZE;j++){

printf("*");

}

printf(" ");

}

 

Эта программа будет выводить квадрат размеров SIZExSIZE. Она хороша тем, что если нам понадобится изменить размеры нашего квадрата, то достаточно будет только изменить значение нашей заданной константы SIZE на необходимое.

 

Так же директиву препроцессора define можно использовать для задания макросов. Макросы, как и функции, могут задаваться без аргументов или с аргументами. Вот пример:

 

#define SIZE 5 // без аргументов - получается обычная константа

#define SIZE(x) (x * x) // с аргументами

 

Но тут есть свои подводные камни. Вот на примере:

SIZE (5); // будет 25

SIZE (1+4); // будет 9

 

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

5*5 // в первом случае

1+4*1+4 // во втором

 

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

 

#define SIZE(x) ((x) * (x))

 

Стандарт языка C++ включает следующий набор фундаментальных типов.

1. Логический тип (bool).

2. Символьный тип (char).

3. Целые типы. Целые типы могут быть одного из трех размеров - short, int, long, сопровождаемые описателем signed или unsigned, который указывает, как интерпретируется значение, - со знаком или без оного.

4. Типы с плавающей точкой. Эти типы также могут быть одного из трех размеров - float, double, long double.

Кроме того, в языке есть

5. Тип void, используемый для указания на отсутствие информации.

6. Указатели (например, int* - типизированный указатель на переменную типа int).

7. Ссылки (например, double& - типизированная ссылка на переменную типа double).

8. Массивы (например, char[] - массив элементов типа char).

9. Перечислимые типы (enum) для представления значений из конкретного множества.

10. Структуры (struct)

11. Классы.

Первые три вида типов называются интегральными или счетными. Значения их перечислимы и упорядочены. Целые типы и типы с плавающей точкой относятся к арифметическому типу. Типы подразделяются также на встроенные и типы, определенные пользователем.

 

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

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

Хорошим стилем является осмысленное именование переменных. Имя переменной может содержать от одного до 32 символов. Разрешается использовать строчные и прописные буквы, цифры и символ подчёркивания, который в Си считается буквой. Первым символом обязательно должна быть буква. Имя переменной не может совпадать с зарезервированными словами.

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

При объявлении переменной компилятор отводит ей место в памяти в зависимости от её типа.

 




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


Дата добавления: 2014-01-20; Просмотров: 387; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.