logo

Довжина масиву в C

Довжина масиву в C означає кількість елементів у масиві. Його необхідно вказати під час декларування. Він також відомий як розмір масиву, який використовується для визначення пам’яті, необхідної для зберігання всіх його елементів. У мові програмування C ми не маємо жодної попередньо визначеної функції для визначення довжини масиву, але ми можемо визначити її вручну, використовуючи різні методи, наведені нижче:

    Використання оператора sizeof() Використання покажчика Арифметика Використання циклу

1. Використання оператора sizeof().

Оператор sizeof — це унарний оператор під час компіляції, який обчислює розмір змінних і типів даних. Він повертає ціле значення, яке представляє розмір виразу або змінної в байтах. Оператор sizeof в основному використовується для динамічного розподілу пам'яті, але його також можна використовувати для визначення довжини масиву.

Хитрість полягає в тому, щоб спочатку знайти розмір усього масиву в байтах і розмір окремого елемента за допомогою оператора sizeof, а потім розділити розмір усього масиву на розмір окремого елемента, щоб отримати кількість елементів в масиві.



Синтаксис:

data_type size = sizeof(Array_name) / sizeof(Array_name[index]);>

У наведеному вище синтаксисі

    data_type: це тип змінної, у якій ми хочемо зберегти довжину масиву (наприклад, int, size_t тощо). Array_name: це ім’я масиву, розмір якого потрібно визначити. sizeof(назва_масиву): It це оператор, який повертає розмір усього масиву в байтах. sizeof(Array_name[index]): повертає розмір окремого елемента в масиві в байтах. індекс: це індекс будь-якого елемента в масиві.

приклад:

C


uri проти url



// C Program to calculate size of an array using sizeof()> // operator> #include> int> main()> {> >int> Arr[] = { 1, 2, 3, 4, 5 };> > >// variable to store size of Arr> >int> length =>sizeof>(Arr) />sizeof>(Arr[0]);> >printf>(>'The length of the array is: %d '>, length);> >return> 0;> }>

>

>

Вихід

The length of the array is: 5>

Часова складність: O(1), оскільки виконано лише операції з постійним часом.

Космічна складність: O(1), оскільки додатковий простір не використано.

2. Використання покажчикової арифметики

Ми також можемо обчислити довжину масиву в C за допомогою арифметики покажчика. Це рішення використання вказівника — це лише хитрість, яка використовується для визначення кількості елементів у масиві.

Синтаксис:

 data_type length = *(&arr + 1) - arr;>

У наведеному вище синтаксисі:

    &arr: покажчик на масив елементів. (&arr + 1): Адреса пам’яті перед масивом, оскільки тип вказівника є вказівником на масив цілих чисел. *(&arr + 1) – arr: включна різниця між початком і кінцем масиву

приклад:

C


значення рядка



// C Program to calculate size of an array using pointer arithmetic> #include> int> main()> {> >int> Arr[] = { 1, 2, 3, 4, 5, 6 };> >// variable to store the size of Arr> >int> length = *(&Arr + 1) - Arr;> >printf>(>'Number of elements in Arr[] is: %d'>, length);> >return> 0;> }>

>

>

Вихід

Number of elements in Arr[] is: 6>

3. Використання циклу

Метод циклу використовується для обчислення довжини масиву в C. Він перебирає всі елементи масиву та збільшує кількість.

приклад:

C




діаграма класів java
// C Program to calculate size of an array using loop> #include> > int> arr_length(>int> arr[])> {> >int> i;> >int> count = 0;> >for>(i=0; arr[i]!=>' '>; i++)> >{> >count++;> >}> >return> count;> }> > int> main()> {> >int> arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};> >int> n;> > >n = arr_length(arr);> >printf>(>'Length of Array is: %d'>, n);> > >return> 0;> }> // This code is contributed by Susobhan Akhuli>

>

>

Вихід

Length of Array is: 10>

Часова складність: O(n), де n – кількість елементів у масиві.

Космічна складність: O(1), оскільки додатковий простір не використано.

Примітка: Зауважте, що ці методи працюють лише тоді, коли масив оголошено в тій самій області. Ці методи зазнають невдачі, якщо ми спробуємо їх використати на масиві, який передається як покажчик. Це відбувається через Array Decay.

Ітераційні методи знаходження довжини рядків (масиву символів) також не можуть бути застосовані до масиву інших типів, оскільки в цих типах масиву відсутній індикатор кінця на відміну від масиву. « » НУЛЬ символ, що позначає кінець рядка.