Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Sizeof | Дані
Основи C
course content

Зміст курсу

Основи C

Основи C

1. Вступ
2. Дані
3. Оператори
4. Оператори управління
5. Функції
6. Вказівники

book
Sizeof

Розмір даних

Функція sizeof() є основою в програмуванні на C. Вона допомагає визначити розмір (у байтах) вказаного об'єкта або типу.

Наприклад, давайте подивимося, скільки байтів займає тип даних int:

c

main

copy
12345678
#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); return 0; }

Тип даних int займає 4 байти.

Примітка

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

Біти

Біт є найпростішою одиницею даних, яку використовує комп'ютер. Кожен байт складається з восьми бітів.

Інженери колективно вирішили прирівняти один байт до 8 біт, оскільки ця конфігурація зручно представляє десяткові числа.

Ви, ймовірно, чули про двійкову систему числення, яка є основою комп'ютерних операцій.

По суті, мета полягає в тому, щоб представляти числові значення, які ми використовуємо в повсякденному житті, за допомогою комбінацій нулів і одиниць. Будь-яке число може бути представлене як комбінація степенів двійки.

Наприклад, число 7 може бути зображене як "111", і ось розклад:

Значення 0 або 1 не мають математичного значення; вони лише вказують на стан біта.

  • 0 – біт неактивний;
  • 1 – біт активний.

Число 113 у двійковій системі виглядає як "01110001":

Типи Даних

Що відрізняє різні типи даних? – Їхній розмір у байтах!

c

Main

copy
123456789101112
#include <stdio.h> int main() { printf("Size of int type: %d bytes\n", sizeof(int)); printf("Size of char type: %d bytes\n", sizeof(char)); printf("Size of double type: %d bytes\n", sizeof(double)); // double is like float, but better return 0; }

Ви можете використовувати функцію sizeof() для масиву, щоб визначити його розмір:

c

main

copy
12345678910
#include <stdio.h> int main() { int intArray[10]; printf("Size of int array: %d bytes\n", sizeof(intArray)); return 0; }

Масив з 10 елементами типу int займає 40 байтів, що означає, що кожен окремий елемент займає 4 байти. Якщо ви поділите загальний розмір масиву на розмір одного з його елементів, ви визначите кількість елементів у масиві:

c

main

copy
1234567891011121314151617
#include <stdio.h> int main() { int data[] = { 4,8,1,5,0,123,66,11, 64,2,7,78,-0,34,23,545, 98,890,65,32,412,6,5465, 87859,656534,324,324,456, 356,341,5654, 534,756,12 }; int sizeOfArray = sizeof(data) / sizeof(int); // or sizeof(data) / sizeof(data[0]); printf("Elements in an array: %d\n", sizeOfArray); return 0; }
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 7
We're sorry to hear that something went wrong. What happened?
some-alt