Maison > Article > développement back-end > Expliquer le concept d'accès aux tableaux non initialisés en langage C
En langage C, si un tableau non initialisé est utilisé, le programme sera-t-il exécuté ?
Si nous utilisons un tableau non initialisé, le compilateur ne générera aucune erreur de compilation et d'exécution.
Si le tableau n'est pas initialisé, vous risquez d'obtenir des résultats imprévisibles.
Par conséquent, il est préférable pour nous de toujours initialiser les éléments du tableau avec des valeurs par défaut.
Ce qui suit est un programme C pour accéder à un tableau non initialisé -
Démonstration en direct
#include <stdio.h> int main(void){ int a[4]; int b[4] = {1}; int c[4] = {1,2,3,4}; int i; //for loop counter //printing all alements of all arrays printf("</p><p>Array a:</p><p>"); for( i=0; i<4; i++ ) printf("arr[%d]: %d</p><p>",i,a[i]); printf("</p><p>Array b:</p><p>"); for( i=0; i<4; i++) printf("arr[%d]: %d</p><p>",i,b[i]); printf("</p><p>Array c:</p><p>"); for( i=0; i<4; i++ ) printf("arr[%d]: %d</p><p>",i, c[i]); return 0; }
Lorsque le programme ci-dessus est exécuté, les résultats suivants sont produits -
Array a: arr[0]: 4195872 arr[1]: 0 arr[2]: 4195408 arr[3]: 0 Array b: arr[0]: 1 arr[1]: 0 arr[2]: 0 arr[3]: 0 Array c: arr[0]: 1 arr[1]: 2 arr[2]: 3 arr[3]: 4
Si nous n'avons pas initialisé le tableau, par défaut, il imprime les valeurs inutiles et n'affiche jamais d'erreurs.
Considérez un autre programme C pour accéder à un tableau non initialisé -
Démonstration en direct
#include <stdio.h> int main(void){ int A[4]; int B[4] ; int C[4] = {1,2}; int i; //for loop counter //printing all alements of all arrays printf("</p><p>Array a:</p><p>"); for( i=0; i<4; i++ ) printf("arr[%d]: %d</p><p>",i,A[i]); printf("</p><p>Array b:</p><p>"); for( i=0; i<4; i++) printf("arr[%d]: %d</p><p>",i,B[i]); printf("</p><p>Array c:</p><p>"); for( i=0; i<4; i++ ) printf("arr[%d]: %d</p><p>",i, C[i]); return 0; }
Lorsque le programme ci-dessus est exécuté, les résultats suivants sont produits -
Array a: arr[0]: 4195856 arr[1]: 0 arr[2]: 4195408 arr[3]: 0 Array b: arr[0]: -915120393 arr[1]: 32767 arr[2]: 0 arr[3]: 0 Array c: arr[0]: 1 arr[1]: 2 arr[2]: 0 arr[3]: 0
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!