Що таке strlen ()
strlen () - це функція для знаходження довжини рядка. Він підраховує загальну кількість символів, представлених у рядку, виключаючи нульовий символ. Загальна кількість символів у рядку включає алфавіти, спеціальні символи та цифри з пробілами.
З цієї різниці між strlen () та sizeof () для рядка в підручнику C ви дізнаєтесь:
- Що таке strlen ()
- Що таке sizeof ()
- Синтаксис strlen ()
- Синтаксис sizeof ()
- Різниця між strlen () та розміром ()
Що таке sizeof ()
Sizeof () - це функція, яка використовується для обчислення розміру операнда. Він повертає розмір певної змінної. Ця функція може бути застосована до будь-якого типу даних, що містить примітивні типи, такі як цілі цілі та типи покажчиків, типи з плаваючою комою, структура або об'єднання. Результат роботи програми, що містить sizeof (), може відрізнятися для 32-розрядної системи та 64-розрядної системи.
ОСНОВНІ ВІДМІННОСТІ:
- Метод Strlen використовується для пошуку довжини масиву, тоді як метод sizeof () використовується для пошуку фактичного розміру даних.
- Strlen () підраховує кількість символів у рядку, тоді як sizeof () повертає розмір операнда.
- Strlen () шукає нульове значення змінної, але sizeof () не дбає про значення змінної.
- Повернене значення у strlen () є довгим int, з іншого боку, повертане значення у sizeof () не має знаку int.
Синтаксис strlen ()
strcount = strlen(my_string);
Тут my_string - це змінна масиву символів.
Приклад strlen ()
У нижченаведеній програмі C ми оголосили рядкову змінну типу char. Змінна Strng - це передана як аргумент функції strlen () для знаходження довжини рядка.
#include#include int main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}
Вихід:
Length of given string is: 7
Синтаксис sizeof ()
Синтаксис 1)
sizeof (type): Type = тип посилання
Приклад розміру (типу):
У наведеному нижче коді & type вказує адресу змінної (подвійний х). Він збільшується до 1, що дає адресу, де ви можете зберігати наступну змінну типу x.
Введення тексту x у char * і прийняття різниці дозволить вам дізнатися загальну кількість змінних типу char, що зберігаються в пам'яті. Ми використовували getchar () для читання символу.
#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}
вихід:
8
Синтаксис 2)
sizeof (ім'я змінної): Variable-name = ім’я змінної, яку ви хочете визначити для розміру.
У нижченаведеній програмі C ми друкуємо тип даних розміру char. Оператор printf містить функцію sizeof з аргументом char.
Приклад sizeof (ім'я змінної):
#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}
Вихід:
sizeof(char) = 1
Синтаксис 3)
sizeof (вираз): Вираз = Вираз, який ви повинні оцінити.
Приклад sizeof (вираз):
У наведеній нижче програмі ми спочатку обчислюємо та друкуємо розмір змінної. Після цього ми обчислюємо вираз, зберігаємо його у змінній a та відображаємо результат у операторі printf.
#includeint main() {char p = 'S';double q = 4.65;printf("Size of variable p : %d\n",sizeof(p));printf("Size of an expression : %d\n",sizeof(p+q));int a = (int)(p+q);printf("Size of explicitly converted expression : %d\n",sizeof(a));return 0;}
Вихід:
Size of variable p : 1Size of an expression : 8Size of explicitly converted expression : 4
Різниця між strlen () та розміром ()
Ось важливі відмінності між strlen () та sizeof ():
Strlen () | Розмір () |
Strlen () - це заздалегідь визначена функція, яка визначається у заголовковому файлі, відомому як string.h. | Sizeof () - це унарний оператор або вираз часу компіляції, який обчислює обсяг пам'яті, зайнятий змінною. |
Цей метод використовується для пошуку довжини масиву рядка або символу. | Цей метод використовується для пошуку фактичного розміру даних (виділених) у байтах. |
Він підраховує кількість символів у рядку, виключаючи нульові значення. | Він повертає розмір операнда, а не довжину рядка (включаючи нульові значення). |
Він виділяє пам'ять під час виконання та шукає нульове значення змінної. | Sizeof () не дбає про значення змінної. |
Функція Strlen () працює лише зі рядками символів | Функція Sizeof () повертає обсяг пам'яті, виділений у байтах. |
Повернене значення у strlen () довге int. | Повернене значення в sizeof () не має знака int. |
Існує лише один синтаксис strlen (), який є int strlen (const char * str); | Існує три синтаксиси sizeof () 1) sizeof (type), 2) sizeof (ім'я змінної) та 3) sizeof (вираз): |