Lengden på en matrise i C refererer til antall elementer i matrisen. Det må spesifiseres ved erklæringen. Det er også kjent som størrelsen på en matrise som brukes til å bestemme minnet som kreves for å lagre alle elementene. I programmeringsspråket C har vi ingen forhåndsdefinert funksjon for å finne lengden på matrisen, men vi kan bestemme den manuelt ved å bruke forskjellige metoder nevnt nedenfor:
- Bruke sizeof() Operator ved å bruke pekeraritmetikk ved å bruke sløyfe
1. Bruke sizeof() Operator
Størrelsesoperatoren er en unær operatør for kompileringstid som beregner størrelsen på variablene og datatypene. Den returnerer en heltallsverdi som representerer størrelsen på uttrykket eller en variabel i byte. Operatorens størrelse brukes primært til dynamisk minneallokering, men den kan også brukes til å finne lengden på en matrise.
Trikset er å først finne størrelsen på hele matrisen i byte og størrelsen på et enkelt element ved å bruke sizeof-operatoren og deretter dele størrelsen på hele matrisen med størrelsen på et enkelt element slik at vi kan få antall elementer i matrisen.
Syntaks:
data_type size = sizeof(Array_name) / sizeof(Array_name[index]);>
I syntaksen ovenfor,
- data_type: Det er typen variabel der vi ønsker å lagre lengden på arrayet.(som int, size_t, etc.). Array_name: Det er navnet på arrayen du vil finne størrelsen på. sizeof(Array_name): It er en operator som returnerer størrelsen på hele matrisen i byte. sizeof(Array_name[indeks]): Den returnerer størrelsen på et enkelt element i matrisen i byte. indeks: Det er indeksen til ethvert element i matrisen.
Eksempel:
C
grunnleggende java
// 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;> }> |
>
>Produksjon
The length of the array is: 5>
Tidskompleksitet: O(1) da kun konstanttidsoperasjoner er utført.
erstatte alt java
Plass kompleksitet: O(1) da det ikke er brukt ekstra plass.
2. Bruke Pointer Aritmetic
Vi kan også beregne lengden på en matrise i C ved å bruke pekeraritmetikk. Denne løsningen med å bruke en peker er bare et hack som brukes til å finne antall elementer i en matrise.
Syntaks:
data_type length = *(&arr + 1) - arr;>
I syntaksen ovenfor:
- &arr: Peker til en rekke elementer. (&arr + 1): Adressen til minnet foran matrisen da pekertype er en peker til en matrise med heltall. *(&arr + 1) – arr: Inkluderende forskjell mellom starten og slutten av matrisen
Eksempel:
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;> }> |
>
>Produksjon
Number of elements in Arr[] is: 6>
3. Bruke Loop
Løkkemetoden brukes til å beregne lengden på en matrise i C. Den itererer gjennom alle elementene i en matrise og øker antallet.
Eksempel:
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> |
>
>Produksjon
Length of Array is: 10>
Tidskompleksitet: O(n) hvor n er antall elementer i matrisen.
Plass kompleksitet: O(1) da det ikke er brukt ekstra plass.
Merk: Vær oppmerksom på at disse metodene bare fungerer når matrisen er deklarert i samme omfang. Disse metodene vil mislykkes hvis vi prøver dem på en matrise som sendes som en peker. Dette skjer på grunn av Array Decay.
De iterative metodene for å finne lengden på strengene (array av tegn) kan heller ikke brukes på arrayen av andre typer siden det ikke er noen sluttindikator i disse arraytypene i motsetning til ' ' NULL tegn som markerer slutten av strengen.
sql-klausuler