Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_Mova_S.doc
Скачиваний:
19
Добавлен:
23.02.2016
Размер:
1.14 Mб
Скачать

Базові типи даних

В мові С використовуються такі ключові слова, які вказують на різні типи даних:

i

для опису цілих чисел

без дробової частини

nt

long

short

unsigned

char для опису букв та інших символів

f

для опису чисел з плаваючою крапкою

loat

double

1. char – символ

Тип може використовуватися для зберігання літери, цифри або іншого символу з множини символів ASCII. Значенням об'єкта типу char є код символу. Тип char інтерпретується як однобайтове ціле з діапазоном значень від -128 до 127.

2. int – ціле

Цілі числа у діапазоні від -32768 до 32767. Як різновиди цілих чисел, у деяких версіях компіляторів існують short – коротке ціле (слово) та long (4 байти) – довге ціле. Хоча синтаксис мови не залежить від ОС, розмірність цих типів може коливатися в залежності від конкретної реалізації. Гарантовано лише, що співвідношення розмірності є наступним: short ≤ int ≤ long.

3. float – число з плаваючою крапкою одинарної точності

Тип призначений для зберігання дійсних чисел. Може представляти числа як у фіксованому форматі (наприклад, число π - 3.14159), так і в експоненціальній формі – 3.4Е+8.

4. double – число з плаваючою крапкою подвійної точності

Приклади описів даних та їх ініціалізації:

int name; float var, var1; double temp; char ch; long height; float income = 2834.12; char val = 12;

int a[10]; /* масив цілих чисел, нумерація елементів масиву від 0 до 9 */

int b[10][10]; /* матриця розміру 10х10 */

char str[]=”Рядок символів”;

char str1[10]; /* Рядок символів */

Цілі типи char, short, int, long можуть використовуватися з модифікаторами signed (із знаком) чи unsigned (без знаку). Цілі без знаку (unsigned) не можуть набувати від'ємних значень, на відміну від знакових цілих (signed). За рахунок цього дещо розширюється діапазон можливих додатних значень типу.

Діапазони значень простих типів даних

Тип

Діапазон значень

Розмір (байт)

сhar

-128 … 127

1

short

-128 … 127 або -32768 ... 32767

1 або 2

int

-32768 ... 32767

2 або 4

long

-2 147 483 648 ... 2 147 483 647

4

unsigned char

0 ... 255

1

unsigned short

0 … 65535

2

unsigned

 

2 або 4

unsigned long

0 ... 4 294 967 295

4

float

±(3.4 10-38 ... 3.4 1038)

4

double

±(1.7 10-308 ... 1.7 10308)

8

long double

±(3.4 10-4932 ... 3.4 104932)

10

Вказівник (покажчик) – це змінна або константа стандартного типу даних для збереження адреси змінної визначеного типу. Значення покажчика – це беззнакове ціле, воно повідомляє де розміщена змінна, і нічого не говорить про саму змінну.

Розмір пам'яті для самого покажчика і формат збереженої адреси (вмістиме покажчика) залежить від типу комп'ютера та обраної моделі пам'яті. Константа NULL зі стандартного файлу stdio.h призначена для ініціалізації покажчиків нульовим (незайнятим) значенням адреси.

Змінна типу покажчик оголошується подібно звичайним змінним із застосуванням унарного символу "*".

Використовуючи символ "*" і ключові слова, що застосовуються при описі змінних простих типів, можна утворювати складні декларації, приклади яких наведено нижче.

Складні декларації

Опис змінної

Пояснення

int *k, *j ;

k, j – вказівники на змінні типу int

int *f (void);

f – функція без параметрів, яка повертає вказівник на тип int

int (*pf)(void);

pf – вказує на функцію без параметрів, яка повертає змінну типу int

char **a;

a – вказує на вказівник на char

int (*daytab)[13];

daytab – вказує на масив з тринадцяти елементів типу int

void *comp(int);

comp – функція з параметром типу int, яка повертає вказівник на void

char (*(*x(int))[5])(void);

x – функція, яка має цілий аргумент і повертає вказівник на масив з п’яти елементів, що містить вказівники на функції без аргументів, які повертають змінні типу char

char (*(*x[3])(void))[5];

x – масив з трьох елементів, що містить вказівники на функції без параметрів, які повертають вказівник на масив із п’яти елементів типу char

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]