Heim > Backend-Entwicklung > C++ > Was ist in der Sprache C ein Out-of-Bounds-Index eines Arrays?

Was ist in der Sprache C ein Out-of-Bounds-Index eines Arrays?

WBOY
Freigeben: 2023-08-27 21:05:05
nach vorne
1294 Leute haben es durchsucht

Was ist in der Sprache C ein Out-of-Bounds-Index eines Arrays?

Angenommen, Sie haben ein Array mit vier Elementen. Dann liegt der Array-Index zwischen 0 und 3, d. h. wir können auf die Elemente mit Index 0 bis 3 zugreifen.

Aber wenn wir einen Index größer als 3 verwenden, wird dies als Index außerhalb der Grenzen bezeichnet.

Wenn wir einen Array-Index außerhalb der Grenzen verwenden, wird der Compiler nicht kompiliert oder ausgeführt. Es kann jedoch nicht garantiert werden, dass die Ergebnisse korrekt sind.

Die Ergebnisse können unsicher sein und viele Probleme verursachen. Daher wird empfohlen, bei der Verwendung von Array-Indizes vorsichtig zu sein.

Beispielprogramm

Das Folgende ist ein C-Programm für einen Out-of-Bounds-Index in einem Array –

Live-Demonstration
#include<stdio.h>
int main(void){
   int std[4];
   int i;
   std[0] = 100; //valid
   std[1] = 200; //valid
   std[2] = 300; //valid
   std[3] = 400; //valid
   std[4] = 500; //invalid(out of bounds index)
   //printing all elements
   for( i=0; i<5; i++ )
      printf("std[%d]: %d</p><p>",i,std[i]);
   return 0;
}
Nach dem Login kopieren

Ausgabe

Wenn das obige Programm ausgeführt wird, werden die folgenden Ergebnisse erzeugt –

std[0]: 100
std[1]: 200
std[2]: 300
std[3]: 400
std[4]: 2314
Nach dem Login kopieren

Erklärung

In diesem Programm beträgt die Array-Größe 4, sodass der Array-Index von std[0] bis std[3] reicht. Allerdings weisen wir hier std[4] den Wert 500 zu.

Das Programm wurde also erfolgreich kompiliert und ausgeführt. Beim Drucken des Werts ist der Wert von std[4] jedoch Müll. Wir haben darin 500 zugewiesen und das Ergebnis ist 2314.

Das obige ist der detaillierte Inhalt vonWas ist in der Sprache C ein Out-of-Bounds-Index eines Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage