Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Типы данных языка С




Данные, которые используются программой, называются объектами. Объект — это область памяти ЭВМ, которая может содержать: переменную, функцию, значение, метку. Тип данных определяет способ хранения объекта в памяти ЭВМ и набор операций, которые применяются к объекту.

В языке С предусмотрено четыре базовых типа данных: символьный (char), целый (int) и вещественный с обычной (float) и двойной (double) точностью. Отсутствие типа задается служебным словом void. В табл. 3.1 приведены базовые типы данных, размер области памяти в байтах и диапазон принимаемых значений. Размещение данных в памяти компьютера показано на рис. 3.1.

 

Таблица 3.1— Базовые типы данных

Тип данных Спецификатор типа Размер в байтах Диапазон изменения
Символ char   -128 — 127
Целое int   -32768 — 32767
Вещественное float   -3.4Е-38 — 3.4Е38
Вещественное двойной точности double   -1.7Е-308 1.7Е+308
Тип отсутствует void используется при описании функций  

 

 

 

Рис. 3.1

 

Существуют модификаторы типа, которые помещаются перед именем типа по форме:

 

модификатор тип переменная;

 

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

 

Таблица 3.2 — Модификаторы типа

Тип данных Спецификатор типа Размер в байтах   Диапазон изменения
Беззнаковый символ unsigned char   0 — 255
Беззнаковое целое unsigned int или unsigned   0 — 65535
Короткое целое short int или short   -32768 — 32767
Длинное целое long int или long   -2147483648 —
Длинное вещественное long double   -3.4Е-4932 — 3.4Е4932

 

Модификаторы типа signedи shortделают программы переносимыми с 16-разрядных на 32-разрядные компьютеры. Они используются в случае, когда работа программы основана на эффекте переполнения (см. табл. 3.2).

Модификатор типа register предписывает компилятору воспользоваться для хранения переменной регистром процессора. Используется в тех случаях, когда к переменной программа обращается часто (например, счетчик). Модификатор register предназначен для ускорения работы программы.

Перед тем, как использовать объект в программе, его необходимо описать, присвоив ему имя (идентификатор) и задав тип данных, а также инициализировать его (присвоить начальное значение). Описание это оператор, который вводит имя в программе. Описание задает тип этого имени. Может также инициализировать объект с этим именем. Инициализатор — это выражение, присваивающее начальное значение объекту.

 

// Описание (объявление) переменных

char ch;

int value;

float threshold;

double weight;

register count;

 

// Описание и инициализация переменных

char ch =’A’; // Два способа инициализации символьной

char ch=65; // переменной равнозначны

int age=44, weight, height=173; // Переменная weight

// не инициализирована

float radius=123.05; // Возможны другие формы записи:

// 0.123E03 или.12305E3

float Pi=3.14159; // Обычно используется в качестве константы

unsigned int a=42000; // Слово int можно опустить

long int one_million;=1000000;

short small_value=8;

unsigned long int very_large_value=150E6 // Расстояние до

// Солнца (км)

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

Указатель указывает на объект заданного типа. Например, “указатель на целое” может указывать на любое целое число, используемое в программе. Объект типа “указатель” содержит адрес другого объекта программы. Указывать можно на любой тип (будь то переменная или функция), в том числе и на другой указатель. Форма объявления указателя:

 

тип *имя_переменной;

 

Тип указателя должен совпадать с типом переменной, на которую он указывает. Может быть указатель типа void. Прежде чем проводить действия с указателем, его необходимо инициализировать (примеры 3.1 и 3.2). Неинициализированный указатель указывает на нулевой адрес памяти ЭВМ, и действия с ним могут привести к краху системы.Основными операциями над указателями являются: & —“взятие адреса”, по которому расположена переменная, и * — “взятие значения”, расположенного по указанному адресу.

 

// Пример 3.1.

// Пример работы с указателем

#include <stdio.h>




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


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


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



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




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