Einführung in Arrays in der C-Programmierung

Das Array ist eine Art Datenstruktur, die zum Speichern homogener Daten in zusammenhängenden Speicherorten verwendet wird.

Hier bezieht sich der Index auf die Position eines Elements im Array. Stellen wir uns vor, A (L) ist der Name des Arrays, wobei "A" der Variablenname und "L" die Länge des Arrays ist, dh die Anzahl der im Array vorhandenen Elemente.

Dann repräsentiert A (i) das Element an der "i + 1" -ten Position im Array. Zum Beispiel:

A (6) = 72 bedeutet Element an der 6 + 1 Stelle des Arrays.

Brauchen Sie für Array

Es ist hilfreich, eine große Anzahl von Elementen mit einer einzigen Variablen darzustellen. Außerdem wird der Zugriff auf ein Element schneller und das Speichern am Speicherort unter Verwendung des Index des Arrays, der die Position eines Elements im Array darstellt, wird vereinfacht.

Zugriff auf Elemente im Array

Der Zugriff auf jedes Element im Array ist viel einfacher und kann in O (1) -Komplexität erfolgen

Indizes eines Arrays beginnen von 0 bis -1.0 und geben das erste Element des Arrays und -1 das letzte Element des Arrays an. In ähnlicher Weise gibt -2 das vorletzte Element des Arrays an.

Beispielsweise:

Sei A ein Array mit der Länge 7 und man muss auf das Element mit dem Wert 94 zugreifen, dann muss er A (3) verwenden.

Syntax

printf (”% d”, A (3)) - Dies gibt 94 aus, wobei 3 der Index ist, auf den wir zugreifen müssen, und a die Variable des Arrays.

Array-Deklaration in C

In C muss das Array ordnungsgemäß deklariert werden, bevor es mit seinem Namen und seiner Länge verwendet wird. Es gibt drei Syntaxen, in denen wir Arrays in ac program deklarieren können

Syntax 1

int A (7) = (21, 56, 32, 52, 63, 12, 48) - Angabe der Länge und der Elemente des Arrays

C Programm

#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;
)

Ausgabe:

Syntax 2

int A () = (21, 56, 32, 52, 63, 12, 48) - Angabe der Länge von Elementen des Arrays

C Programm

#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;
)

Ausgabe:

Syntax 3

int A (7); - Angabe nur der Länge des Arrays.

C Programm

#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;
)

Ausgabe:

Syntax 4

int A (7) = (0); - Angabe der Länge des Arrays und des Elements, wenn ein Element an allen Positionen gleich ist.

C Programm

#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;
)

Ausgabe:

Syntax 5

Angabe der Länge des Arrays und des Werts von Elementen, bei denen alle Werte gleich sind

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

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

Syntax 6

int * a; - Array als Zeiger auf die Position von Elementen deklarieren.

Kein unzulässiger Index

Wenn versucht wird, außerhalb der Grenzen des Arrays auf das Element zuzugreifen, zeigt der Compiler keinen Fehler an, sondern generiert eine Warnung. Und gibt auch eine unerwartete Ausgabe.

Beispiel

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

Wenn wir printf (a (4)) schreiben;

Die Ausgabe lautet 225263545 - Unerwartet

In C ist es auch kein Fehler des Compilers, ein Array mit mehr Zahlenelementen als der in der Deklaration angegebenen Länge zu initialisieren. Beispielsweise zeigt das folgende Programm stattdessen keinen Fehler an.

C Programm

#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;
)

Ausgabe:

Abrufen von Elementen im Array

Das Abrufen und Drucken von Elementen eines Arrays ist sehr einfach. Es ist nur eine Schleife erforderlich, um n Elemente eines Arrays zu drucken. somit ist die Komplexität eines solchen Programms O (n).

Zum Beispiel sei int a (7) = (23, 56, 8, 944, 58, 24, 5);

Programm zum Drucken der Elemente eines Arrays ist

C Programm

#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;
)

Ausgabe:

Mehrdimensionales Array

Die C-Sprache erlaubt auch mehrdimensionale Arrays, dh `Arrays, die sowohl Zeilen- als auch Spaltenelemente enthalten können.

Erklärung

Beim Deklarieren des mehrdimensionalen Arrays muss die Länge aller Dimensionen außer der linken angegeben werden, da dies optional ist.

Beispiel

Das Deklarieren eines Arrays auf die folgende Weise führt zu einem Fehler, da keine anderen Dimensionen als die ganz linke angegeben sind.

Int a () () (2) = (

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

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

)

Beispiel

Unten ist eine der korrekten Syntax für die Deklaration eines mehrdimensionalen Arrays in C.

Int a () (3) = (

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

)

Array als Parameter in Funktion übergeben

Manchmal müssen wir bei der Erstellung einer Funktion eine Reihe von Variablen verwenden, die von verschiedenen Funktionen verwendet werden müssen. Zu diesem Zeitpunkt müssen diese Variablen als Parameter für diesen Funktionsaufruf übergeben werden. Mit zunehmender Anzahl von Variablen müssen wir jedoch ein Array verwenden, um die Variable zu übergeben, oder wenn einige Operationen an den Arrays ausgeführt werden müssen, muss auch ein vollständiges Array als Parameter in einer Funktion übergeben werden. Um ein Array als Variable an die Funktion zu übergeben:

1. Rufen Sie nach Wert auf

Bei dieser Art des Methodenaufrufs werden die tatsächlichen Werte des Arrays in den formalen Parameter kopiert, in dem beide an unterschiedlichen Orten gespeichert sind, sodass Änderungen an den Werten nicht in die Funktion übernommen werden.

C Programm

#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;
)

Ausgabe:

2. Rufen Sie per Referenz an

Wenn beim Aufrufen einer Funktion die tatsächlichen Werte des Arrays nicht übergeben werden, wird die Referenz auf die Variable als Parameter übergeben und dann als Call-by-Reference bezeichnet.

C Programm

#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;
)

Ausgabe:

3. Übergeben des gesamten Arrays als Argument

ZB - Angenommen, arr ist ein Array mit 7 Elementen.Disp ist eine Funktion, mit der die Elemente eines Arrays angezeigt werden, die zwei Argumente annehmen. Das erste Argument zeigt auf die erste Position des Arrays und das andere auf die Länge des Arrays (var2) .während des Aufrufs Die Funktion arr Variable, die auf die Position des ersten Elements von Array und Länge zeigt, dh 7, wird übergeben.

C Programm

#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;
)

Ausgabe:

Speicherzuordnung des Arrays

Die Speicherdarstellung in der Sprache C wird wie folgt in 5 Abschnitte unterteilt:

  1. Textsegment
  2. Initialisiertes Datensegment
  3. Nicht initialisiertes Datensegment
  4. Stapel
  5. Haufen

Daten, Heap und Stapel sind die drei Segmente, in denen Arrays Speicher zum Speichern ihrer Elemente zugewiesen werden können, genau wie bei anderen Variablen.

  1. Dynamische Arrays: Dynamische Arrays sind Arrays, deren Speicherplatz zur Laufzeit zugewiesen werden muss. Für diese Arten von Arrays wird Speicher am Heap-Speicherort zugewiesen.
  2. Globale oder statische Arrays: Dies sind die Arrays, die zur Kompilierungszeit zugewiesen werden. Daher wird für diese Art von Arrays immer ein Datensegmentspeicher zugewiesen.
  3. Lokale Arrays: Die Arrays, die innerhalb einer Funktion oder eines Blocks initialisiert werden, werden als lokale Arrays bezeichnet. Diese Arten von Arrays erhalten auf dem Stapelsegment zugewiesenen Speicher.

Zeichenarray

In C werden Zeichenfolgen als ein eindimensionales Array von Zeichen mit dem Nullzeichen '\ 0' an der letzten Position betrachtet, die der Compiler automatisch hinzufügt.

Zum Beispiel wird "i love coding" als eindimensionales Array in c der Länge 14 mit dem Zeichen "\ 0" am Ende betrachtet.

Deklaration: Es gibt 2 Möglichkeiten, das Zeichenarray zu deklarieren und zu initialisieren.

  1. char str (12) = "ich liebe Code";
  2. char str (12) = ('I', '', 'l', 'o', 'v', 'e', ​​'c', 'o', 'd', 'e', ​​\ 0 ''); - Hier müssen wir es mit dem Zeichen '\ 0' am Ende beenden.
  3. Char ch (3) = 'modi' - Ungültige Erklärung

Ein- und Ausgabe übernehmen

Während der Eingabe und Anzeige der Ausgabe in C für das Zeichen-Array '% c' können die Funktionen scanf () und printf () verwendet werden.

Das Gleiche kann für Strings implementiert werden. „% S“ kann verwendet werden, stoppt jedoch den Scan beim Auftreten des ersten Leerzeichens.

C-Programm:

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

Ausgabe:

Neben den Funktionen printf und scanf bietet C auch Zeichenfolgenfunktionen wie gets () und puts (), um Leerzeichen von Zeichenfolgen beim Scannen und Drucken zu ignorieren.

Fazit

Array ist eine Art Datenstruktur, die zum Speichern der homogenen Daten an einem zusammenhängenden Speicherort verwendet wird. Arrays in der Programmierung werden als Repräsentation für verschiedene komplexe Datenstrukturen wie Baum, Heap usw. verwendet. Die Programmiersprache ermöglicht mehrdimensionale Arrays für alle primitiven Datentypen. Zeichenfolgen werden auch als Zeichenarray mit dem Nullzeichen '\ 0' als letztem Zeichen dargestellt. Arrays in Programming ermöglichen den schnellen Abruf und direkten Zugriff auf Elemente eines Arrays über den Index, in dem das Element gespeichert ist.

Empfohlene Artikel

Dies ist eine Anleitung zu Arrays in der C-Programmierung. Hier diskutieren wir die Einführung, die Anforderungen des Arrays sowie das Übergeben von Array-Funktionen, einschließlich Aufruf nach Wert, Aufruf nach Referenz und Übergeben des gesamten Arrays als Argument. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. 3D-Arrays in C
  2. Beste C-Compiler
  3. Muster in der C-Programmierung
  4. Factorial in C
  5. Leitfaden zu Arrays in C #
  6. 3D-Arrays in C ++
  7. Anleitung zu Arrays in PHP
  8. C Programmieren der Matrixmultiplikation
  9. PHP Array Funktionen | Typen | Beispiele