Heim >Backend-Entwicklung >C++ >Was sind die Einschränkungen von Arrays in der C-Sprache?
Ein Array ist eine Datenstruktur, die eine sequentielle Sammlung fester Größe von Elementen desselben Typs speichern kann.
Arrays werden zum Speichern von Datensammlungen verwendet. Es ist jedoch sinnvoller, sich Arrays als Sammlungen von Variablen desselben Typs vorzustellen.
Die folgenden Einschränkungen gelten für Arrays:
Das gebildete Array ist homogen. Das heißt, in einem Ganzzahl-Array können nur ganzzahlige Werte gespeichert werden, in einem Gleitkomma-Array können nur Gleitkommawerte gespeichert werden und in einem Zeichen-Array können nur Zeichen gespeichert werden. Daher kann ein Array nicht gleichzeitig Werte beider Datentypen enthalten.
Bei der Deklaration eines Arrays ist die Übergabe der Größe des Arrays obligatorisch und die Größe muss eine Konstante sein. Daher ist möglicherweise nicht genügend oder verschwendeter Speicher vorhanden.
Umschaltvorgänge sind beim Einfügen oder Löschen von Elementen aus einem Array erforderlich.
Array prüft keine Grenzen: In der Sprache C können wir nicht prüfen, ob der in das Array eingegebene Wert die Größe des Arrays überschreitet.
Mit Indizes eingegebene Daten überschreiten die Array-Größe und werden außerhalb des Arrays platziert. Normalerweise über den Daten oder dem Programm selbst.
Dies wird, gelinde gesagt, zu unvorhersehbaren Ergebnissen führen. Darüber hinaus gibt es keine Fehlermeldung, die den Programmierer warnt, dass die Array-Größe überschritten wurde. In einigen Fällen kann das Programm hängen bleiben.
Daher kann das folgende Programm unerwünschte Ergebnisse erzeugen:
int a[10],i; for(i=0;i<=20;i++) a[i]=i;
Das Folgende ist ein C-Programm, das die Summe zweier Arrays anzeigt:
Live-Demonstration
#include<stdio.h> void main(){ //Declaring array with compile time initialization// int array1[5],array2[5],sum[5]; //Declaring variables// int i; //Printing O/p using for loop// printf("Enter the values of array1 :</p><p>"); for(i=0;i<5;i++){ printf("array1[%d] : </p><p>",i); scanf("%d",&array1[i]); } printf("Enter the values of array2 :</p><p>"); for(i=0;i<5;i++){ printf("array2[%d] :</p><p>",i); scanf("%d",&array2[i]); } printf("Elements in the sum of array1 and array2 are:</p><p> "); for(i=0;i<5;i++){ sum[i]=array1[i]+array2[i]; printf("%d ",sum[i]); } }
Wenn das obige Programm ausgeführt wird , was das folgende Ergebnis liefert: −
Enter the values of array1 : array1[0] :2 array1[1] :3 array1[2] :1 array1[3] :2 array1[4] :3 Enter the values of array2 : array2[0] :4 array2[1] :5 array2[2] :3 array2[3] :2 array2[4] :1 Elements in the sum of array1 and array2 are: 6 8 4 4 4
Das obige ist der detaillierte Inhalt vonWas sind die Einschränkungen von Arrays in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!