Dolžina matrike v C se nanaša na število elementov v matriki. To mora biti določeno ob prijavi. Znana je tudi kot velikost matrike, ki se uporablja za določanje pomnilnika, potrebnega za shranjevanje vseh njenih elementov. V programskem jeziku C nimamo vnaprej določene funkcije za iskanje dolžine matrike, vendar jo lahko določimo ročno z uporabo različnih spodaj navedenih metod:
- Uporaba operatorja sizeof() Uporaba kazalca Aritmetika Uporaba zanke
1. Uporaba operatorja sizeof().
Operator sizeof je unarni operator v času prevajanja, ki izračuna velikost spremenljivk in podatkovnih tipov. Vrne celoštevilsko vrednost, ki predstavlja velikost izraza ali spremenljivke v bajtih. Operator sizeof se uporablja predvsem za dinamično dodeljevanje pomnilnika, lahko pa ga uporabite tudi za iskanje dolžine matrike.
Trik je v tem, da najprej poiščemo velikost celotne matrike v bajtih in velikost posameznega elementa z uporabo operatorja sizeof in nato delimo velikost celotne matrike z velikostjo posameznega elementa, tako da lahko dobimo število elementov v nizu.
Sintaksa:
data_type size = sizeof(Array_name) / sizeof(Array_name[index]);>
V zgornji sintaksi je
- data_type: je vrsta spremenljivke, v katero želimo shraniti dolžino matrike. (na primer int, size_t itd.). Ime_matrike: je ime matrike, katere velikost želite ugotoviti. sizeof(ime_matrike): It je operator, ki vrne velikost celotne matrike v bajtih. sizeof(Array_name[index]): vrne velikost posameznega elementa v matriki v bajtih. indeks: je indeks katerega koli elementa v matriki.
primer:
C
1 milijon koliko 0
// 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;> }> |
>
>Izhod
The length of the array is: 5>
Časovna zapletenost: O(1), saj so bile izvedene samo operacije s konstantnim časom.
do medtem ko java
Kompleksnost prostora: O(1), ker ni bil uporabljen dodaten prostor.
2. Uporaba aritmetike kazalca
Dolžino matrike v C lahko izračunamo tudi z aritmetiko kazalca. Ta rešitev uporabe kazalca je samo kramp, ki se uporablja za iskanje števila elementov v matriki.
Sintaksa:
data_type length = *(&arr + 1) - arr;>
V zgornji sintaksi:
- &arr: Kazalec na niz elementov. (&arr + 1): naslov pomnilnika pred matriko kot tip kazalca je kazalec na matriko celih števil. *(&arr + 1) – arr: vključujoča razlika med začetkom in koncem matrike
primer:
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;> }> |
>
>Izhod
Number of elements in Arr[] is: 6>
3. Uporaba Loop
Metoda zanke se uporablja za izračun dolžine matrike v C. Ponavlja vse elemente matrike in povečuje število.
primer:
C
// 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> |
>
>Izhod
Length of Array is: 10>
Časovna zapletenost: O(n), kjer je n število elementov v matriki.
Kompleksnost prostora: O(1), ker ni bil uporabljen dodaten prostor.
Opomba: Upoštevajte, da te metode delujejo le, če je matrika deklarirana v istem obsegu. Te metode ne bodo uspele, če jih poskusimo na matriki, ki je posredovana kot kazalec. To se zgodi zaradi razpada niza.
Iterativnih metod iskanja dolžine nizov (matrike znakov) prav tako ni mogoče uporabiti za matrike drugih vrst, saj v teh vrstah matrik ni indikatorja konca v nasprotju z ' ' NIČ znak, ki označuje konec niza.
... v javi