Wprowadzenie do tablic w programowaniu C.

Tablica jest rodzajem struktury danych służącym do przechowywania jednorodnych danych w ciągłych lokalizacjach pamięci.

Tutaj indeks odnosi się do położenia elementu w tablicy. Wyobraźmy sobie, że A (L) to nazwa tablicy, gdzie „A” to nazwa zmiennej, a „L” to długość tablicy, tj. Liczba elementów obecnych w tablicy.

Następnie A (i) reprezentuje element w tej „i + 1” pozycji w tablicy. Na przykład:

A (6) = 72 oznacza element w miejscu 6 + 1.

Need for Array

Pomaga reprezentować dużą liczbę elementów za pomocą jednej zmiennej. Ułatwia także dostęp do elementu w celu łatwiejszego przechowywania go w pamięci za pomocą indeksu tablicy, który reprezentuje lokalizację elementu w tablicy.

Dostęp do elementów w tablicy

Dostęp do dowolnego elementu w tablicy jest znacznie łatwiejszy i można to zrobić w złożoności O (1)

Indeksy tablicy zaczynają się od 0 do -1.0 wskazuje pierwszy element tablicy, a -1 wskazuje ostatni element tablicy. Podobnie -2 wskazuje na przedostatni element tablicy.

Na przykład:

Niech A będzie tablicą o długości 7 i trzeba uzyskać dostęp do elementu o wartości 94, a następnie trzeba użyć A (3).

Składnia

printf (”% d”, A (3)) - Spowoduje to wydrukowanie 94, gdzie 3 to indeks, do którego musimy uzyskać dostęp, a a jest zmienną tablicy.

Deklaracja tablic w C

W C tablica musi zostać zadeklarowana poprawnie przed użyciem jej nazwy i długości. Istnieją trzy składnie, w których możemy zadeklarować tablice w programie ac

Składnia 1

int A (7) = (21, 56, 32, 52, 63, 12, 48) - Deklaracja długości i elementów tablicy

Program C.

#include
int main(
int a(7) = (21, 56, 32, 52, 63, 12, 48);
int i;
for(i=0;i<7;i++)(
printf(“%d\n”, a(i));
)
return 0;
)

Wynik:

Składnia 2

int A () = (21, 56, 32, 52, 63, 12, 48) - Deklaracja długości elementów tablicy

Program C.

#include
int main(
int a() = (21, 56, 32, 52, 63, 12, 48);
int i;
for(i=0;i<7;i++)(
printf(“%d\n”, a(i));
)
return 0;
)

Wynik:

Składnia 3

int A (7); - Deklarowanie tylko długości tablicy.

Program C.

#include
int main(
int a(7) ;
int i;
printf(“Please enter the array elements”);
for(i=0;i<7;i++)(
scanf(“%d\n”, &a(i));
)
printf(“Elements of array are”);
for(i=0;i<7;i++)(
printf(“%d\n”, a(i));
)
return 0;
)

Wynik:

Składnia 4

int A (7) = (0); - Deklarowanie długości tablicy i elementu, gdy element jest taki sam na wszystkich pozycjach.

Program C.

#include
int main(
int a(7)=(0) ;
int i;
printf(“Elements of array are”);
for(i=0;i<7;i++)(
printf(“%d\n”, a(i));
)
return 0;
)

Wynik:

Składnia 5

Deklaracja długości tablicy, a także wartości elementów, w których wszystkie wartości są takie same

Przypadek 1 - int a (3) = ((0..1) = 3) -

Przypadek 2 - int a (3) = (0); -

Składnia 6

int * a; - Deklaracja tablicy jako wskaźnika do lokalizacji elementów.

Brak sprawdzania wskaźnika poza zakresem

W przypadku próby uzyskania dostępu do elementu poza granicami tablicy, kompilator nie wyświetla błędu, zamiast tego generuje ostrzeżenie. A także daje nieoczekiwany wynik.

Przykład

a (4) = (2, 3, 4, 5);

Jeśli napiszemy printf (a (4));

Dane wyjściowe to 225263545 - nieoczekiwany

Ponadto w C kompilator nie popełnia błędu podczas inicjalizacji tablicy z większą liczbą elementów liczbowych niż określona długość w deklaracji. Na przykład poniższy program nie wyświetla zamiast tego błędu.

Program C.

#include
int main(
int arr(2)=(10, 22, 56, 32, 45, 89) ;
int i;
printf(“Elements of array are”);
for(i=0;i<2;i++)(
printf(“%d\n”, arr(i));
)
return 0;
)

Wynik:

Pobieranie elementów w tablicy

Pobieranie elementów tablicy i ich drukowanie jest bardzo łatwym zadaniem. Wymaga tylko jednej pętli, aby wydrukować n elementów tablicy. dlatego złożoność takiego programu wynosi O (n).

Na przykład - niech int a (7) = (23, 56, 8, 944, 58, 24, 5);

Program do drukowania elementów tablicy jest

Program C.

#include
int main(
int arr(7)=(23, 56, 8, 944, 58, 24, 5) ;
int i;
printf(“Elements of array are”);
for(i=0;i<7;i++)(
printf(“%d\n”, arr(i));
)
return 0;
)

Wynik:

Tablica wielowymiarowa

Język C dopuszcza również tablice wielowymiarowe, tj. Tablice, które mogą przechowywać elementy zarówno w wierszach, jak i kolumnach.

Deklaracja

Deklarując tablicę wielowymiarową, należy określić długość wszystkich wymiarów oprócz lewego, ponieważ jest to opcjonalne.

Przykład

Zadeklarowanie tablicy w poniższy sposób spowoduje błąd, ponieważ wymiary inne niż lewy najbardziej nie są określone.

Int a () () (2) = (

((1, 2), (3, 4)),

((5, 6), (7, 8))

)

Przykład

Poniżej znajduje się jedna z poprawnych składni deklaracji tablicy wielowymiarowej w C.

Int a () (3) = (

(52, 56, 86), (44, 6, 21)

)

Przekazywanie tablicy jako parametru w funkcji

Czasami podczas tworzenia funkcji wymagamy, aby funkcja używała wielu zmiennych, które musi pobierać z różnych funkcji. Tym razem zmienne te muszą zostać przekazane jako parametr dla tego wywołania funkcji. Ale w końcu, gdy liczba zmiennych rośnie, musimy użyć tablicy, aby przekazać zmienną, lub w przypadku, gdy niektóre operacje muszą zostać wykonane na tablicach, wówczas również konieczne jest przekazanie pełnej tablicy jako parametru w funkcji. Aby przekazać tablicę jako zmienną do funkcji:

1. Zadzwoń według wartości

W tym typie wywoływania metod rzeczywiste wartości tablicy są kopiowane do parametru formalnego, gdzie oba są przechowywane w różnych lokalizacjach, dlatego żadna zmiana wartości nie zostanie odzwierciedlona w funkcji.

Program C.

#include
Void show( char ch)
(
printf("%c ", ch);
)
int main()
(
char arr() = ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j');
for (int x=0; x<10; x++)
(
show(arr(x));//value of array //elements are passed as an argument
)
return 0;
)

Wynik:

2. Zadzwoń przez referencję

Podczas wywoływania funkcji, gdy zamiast przekazywać rzeczywiste wartości tablicy, odwołanie do zmiennej jest przekazywane jako parametr, wówczas nazywane jest wywołaniem przez odniesienie.

Program C.

#include
Void show( char ch)
(
printf("%c ", ch);
)
int main()
(
char arr() = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0);
for (int x=0; x<10; x++)
(
show(&arr(x));//reference of array //elements are passed as an argument
)
return 0;
)

Wynik:

3. Przekazywanie całej tablicy jako argumentu

Np. - Niech arr będzie tablicą 7 elementów. Disp to funkcja wyświetlająca elementy tablicy, które pobierają 2 argumenty, z których pierwszy wskazuje pierwszą lokalizację tablicy, a drugą długość tablicy (var2). przekazywana jest zmienna funkcji arr wskazująca położenie pierwszego elementu tablicy i długość, tj. 7.

Program C.

#include
void disp( int *var1, int var2)
(
for(int x=0; x (
printf("Value of var_arr(%d) is: %d \n", x, *var1);
/*increment pointer for next element fetch*/
var1++;
)
)
int main()
(
int var_arr() = (12, 22, 38, 85, 65, 66, 77);
disp(var_arr, 7);
return 0;
)
#include
void disp( int *var1, int var2)
(
for(int x=0; x (
printf("Value of var_arr(%d) is: %d \n", x, *var1);
/*increment pointer for next element fetch*/
var1++;
)
)
int main()
(
int var_arr() = (12, 22, 38, 85, 65, 66, 77);
disp(var_arr, 7);
return 0;
)

Wynik:

Przydział pamięci tablicy

Reprezentację pamięci w języku C uważa się za podzieloną na 5 sekcji, jak podano poniżej:

  1. Segment tekstowy
  2. Zainicjowany segment danych
  3. Niezainicjowany segment danych
  4. Stos
  5. Sterta

Dane, sterta i stos to trzy segmenty, w których tablice można przydzielić pamięci do przechowywania jej elementów, tak samo jak inne zmienne.

  1. Tablice dynamiczne: tablice dynamiczne to tablice, które wymagają przydzielenia pamięci w czasie wykonywania. Dla tego typu tablic pamięć jest przydzielana w miejscu pamięci sterty.
  2. Globalne lub statyczne tablice: są to typy tablic, które są przydzielane podczas kompilacji. Dlatego pamięć segmentów danych jest zawsze przydzielana dla tego rodzaju tablic.
  3. Lokalne tablice: tablice inicjowane wewnątrz funkcji lub bloku są znane jako tablice lokalne. Te typy tablic otrzymują pamięć przydzielaną w segmencie stosu.

Tablica znaków

W C łańcuchy są traktowane jako jednowymiarowa tablica znaków ze znakiem zerowym „\ 0” na ostatniej pozycji, którą kompilator automatycznie do niej dodaje.

Na przykład „uwielbiam kodować” jest uważane za tablicę jednowymiarową c o długości 14 zawierającą na końcu znak „\ 0”.

Deklaracja: Istnieją 2 sposoby deklaracji i inicjalizacji tablicy znaków

  1. char str (12) = „kocham kod”;
  2. char str (12) = ('I', '', 'l', 'o', 'v', 'e', ​​'', 'c', 'o', 'd', 'e, ' \ 0 ''); - Tutaj musimy zakończyć go znakiem „\ 0” na końcu.
  3. Char ch (3) = „modi” - nielegalna deklaracja

Pobieranie danych wejściowych i wyjściowych

Podczas pobierania danych wejściowych i wyświetlania danych wyjściowych w C dla tablicy znaków '% c' można użyć odpowiednio funkcji scanf () i printf ().

Podczas implementowania tego samego dla ciągów można użyć „% s”, ale zatrzymuje skanowanie w poszukiwaniu pierwszego znaku spacji.

Program C:

#include
#include
int main()
(
char str(20);
printf(“Enter a string”);
scanf(“%(^\n)”, &str);
printf(“%s”, str);
return 0;
)

Wynik:

Oprócz funkcji printf i scanf, C zapewnia również funkcje łańcuchowe, takie jak gets () i puts (), aby ignorować białe znaki łańcucha podczas skanowania i drukowania.

Wniosek

Tablica jest rodzajem struktury danych służącym do przechowywania jednorodnych danych w ciągłym miejscu pamięci. Tablice w programowaniu są używane jako reprezentacja różnych złożonych struktur danych, takich jak drzewo, sterty itp. Język C pozwala na wielowymiarowe tablice dla wszystkich pierwotnych typów danych. Ciągi są również reprezentowane jako tablica znaków ze znakiem zerowym „\ 0” jako ostatnim znakiem. Tablice w Programowaniu umożliwiają szybkie wyszukiwanie i bezpośredni dostęp do elementów tablicy za pomocą indeksu, w którym element jest przechowywany.

Polecane artykuły

Jest to przewodnik po tablicach w programowaniu C. Tutaj omawiamy Wprowadzenie, Needs of Array, a także Passing Array Funkcje obejmują Call by Value, Call by Reference i Passing cała tablica jako argument. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Tablice 3D w C
  2. Najlepsze kompilatory C.
  3. Wzory w programowaniu C.
  4. Silnia w C
  5. Przewodnik po tablicach w C #
  6. Tablice 3D w C ++
  7. Przewodnik po tablicach w PHP
  8. Mnożenie macierzy programowania C.
  9. Funkcje tablic PHP | Rodzaje | Przykłady