Зміст курсу
Основи C
Основи C
Sizeof
Розмір даних
Функція sizeof()
є основою в програмуванні на C. Вона допомагає визначити розмір (у байтах) вказаного об'єкта або типу.
Наприклад, давайте подивимося, скільки байтів займає тип даних int
:
main
#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":
Типи даних
Що відрізняє різні типи даних? – Їхній розмір у байтах!
Main
#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()
для масиву, щоб визначити його розмір:
main
#include <stdio.h> int main() { int intArray[10]; printf("Size of int array: %d bytes\n", sizeof(intArray)); return 0; }
Масив з 10 елементами типу int займає 40 байтів, що означає, що кожен окремий елемент споживає 4 байти. Якщо ви поділите загальний розмір масиву на розмір одного з його елементів, ви визначите кількість елементів у масиві:
main
#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; }
Дякуємо за ваш відгук!