Jak określić rozmiar tablicy

Jak określić rozmiar tablicy
Tablica to liniowa zbiór elementów. Aby obliczyć rozmiar tablicy, możemy użyć operatora sizeof (). Za pomocą operatora sizeof () możemy łatwo znaleźć rozmiar tablicy. Z wyjątkiem operatora sizeof () możemy również użyć wskaźnika do obliczenia rozmiaru tablicy.

Podstawowa zasada rozmiaru operatora do obliczenia wielkości tablicy

Wymagana pamięć (w bajtach) = sizeof (danych danych) * tablica sizeof.

Przykład: int A [10];

Następnie sizeof (danych danych) = sizeof (int) = 4 bajty

Rozmiar tablicy = 10 .

Tak więc pamięć wymagana = (4 * 10) bajty = 40 bajtów

Przykład programowania 1:

# włączać
# włączać
int main ()

int arr [] = 1, 2, 3, 4, 5;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // Rozmiar tablicy.
printf („Rozmiar tablicy = %d \ n”, rozmiar);
printf („elementy tablicy to:”);
dla (i = 0; i < size ; i++)

printf („arr [ %d] = %d \ n”, i, arr [i]);

Wyjście: Rozmiar tablicy to 5

Wyjaśnienie: Tutaj deklarujemy tablicę o nazwie ARR [] i przypisujemy niektóre wartości. Są 1, 2, 3, 4, 5. Jeśli chcemy określić rozmiar tablicy, oznacza, ile elementów występuje w tablicy, musimy napisać obliczenia z pomocą operatora rozmiaru.

Sizeof (arr []) / sizeof (arr [0]);

Tutaj rozmiar ARR [] wynosi 5, a każda liczba całkowita bierze pamięć 4 bajty.

Tak więc całkowita pamięć jest zużywana = (5 * 4) bajty.

= 20 bajtów.

Sizeof (ARR [0]) oznacza, że ​​tutaj elementy są liczbą całkowitą. Tak więc wymaga 4 bajtów.

Tak więc rozmiar tablicy = (20/4) bajtów = 5 bajtów.

Jeśli weźmiemy tablicę znaków lub ciągów zamiast tablicy całkowitej, możemy wyjaśnić, co się stało w następnym programie.

Przykład programowania 2:

# włączać
# włączać
int main ()

char arr [] = a, b, c, d, e;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // Rozmiar tablicy
printf („Rozmiar tablicy = %d \ n”, rozmiar); .
printf („elementy tablicy to:”);
dla (i = 0; i < size ; i++)

printf („arr [ %d] = %c \ n”, i, arr [i]);

Wyjście: Rozmiar tablicy to 5

Wyjaśnienie: Tutaj deklarujemy tablicę o nazwie ARR [] i przypisujemy niektóre wartości.Są „a”, „b”, „c”, „d”, „e”. Jeśli chcemy określić rozmiar tablicy, oznacza, ile elementów występuje w tablicy, musimy napisać obliczenia za pomocą operatora sizeof ().

Sizeof (arr []) / sizeof (arr [0]);

Tutaj rozmiar ARR [] wynosi 5, a każda postać bierze pamięć 2 bajty.

Tak więc całkowita pamięć jest zużywana = (5 * 2) bajtów.

= 10 bajtów.

sizeof (ARR [0]) oznacza, że ​​tutaj elementy są znakiem. Tak więc wymaga pamięci 2 bajtów.

Tak więc rozmiar tablicy = (10/2) bajtów = 5 bajtów.

Jeśli weźmiemy tablicę zmiennoprzecinkową zamiast tablicy znaków, możemy wyjaśnić, co się stało w następnym programie.

Przykład programowania 3:

# włączać
# włączać
int main ()

char Arr [] = 1.5, 2.5, 3.5, 4.5, 5.5;
int size = sizeof (arr) / sizeof (arr [0]); // Rozmiar tablicy
printf („Rozmiar tablicy = %d \ n”, rozmiar);
printf („elementy tablicy:”);
dla (int i = 0; i < size ; i++ )

printf („arr [ %d] = %f \ n”, i, arr [i]);

Wyjście: Rozmiar tablicy to 5

Wyjaśnienie: Tutaj deklarujemy tablicę o nazwie ARR [] i przypisujemy niektóre wartości.Są 1.5, 2.5, 3.5, 4.5, 5.5. Jeśli chcemy określić rozmiar tablicy, oznacza to, ile elementów występuje w tablicy, musimy napisać obliczenia za pomocą operatora sizeof ().

Sizeof (arr []) / sizeof (arr [0]);

Tutaj rozmiar ARR [] wynosi 5, a każdy pływak bierze pamięć 8 bajtów.

Tak więc całkowita pamięć jest zużywana = (5 * 8) bajtów.

= 40 bajtów.

Sizeof (ARR [0]) oznacza, że ​​elementy są unoszące się. Tak więc wymaga pamięci 8 bajtów.

Tak więc rozmiar tablicy = (40/8) bajtów = 5 bajtów.

Oblicz rozmiar tablicy za pomocą wskaźnika

Inną metodą określenia rozmiaru tablicy jest użycie wskaźnika.

Przykład programowania 4:

int main ()

int main ()

int arr [] = 1, 2, 3, 4, 5;
int size = * (& ARR + 1) - ARR; // deklarowanie zmiennej rozmiaru za pomocą wskaźnika.
printf („Liczba elementów to arr [] to %d”, rozmiar);
powrót 0;

Wyjaśnienie: Tutaj obliczamy rozmiar tablicy za pomocą wskaźnika.

int size = * (& ARR + 1) - ARR;

Powyższa linia pomaga nam obliczyć rozmiar tablicy. Tutaj ARR oznacza adres podstawowy tablicy lub adres pierwszego indeksu tablicy.

* (& ARR + 1)

Oznacza to adres drugiego indeksu tablicy. Ponieważ dodajemy 1 do adresu adresu podstawowego.

Jeśli odejmujemy wartość adresu tablicy od jej adresu podstawowego, otrzymamy rozmiar każdego bloku w tablicy. Następnie możemy łatwo dowiedzieć się wielkości tablicy, zliczając całkowitą liczbę danych wejściowych, które podaliśmy tej konkretnej tablicy.

Wyjście:

Wniosek

Oczywiście pokazano, że za pomocą wskaźnika operatora sizeof () możemy łatwo obliczyć długość tablicy lub rozmiar tablicy. Głównie operator sizeof () jest odpowiedzialny za obliczenie wielkości tablicy, ale dodatkowo wskaźnik może również obsługiwać rozmiar tablicy pasywnie.