Segmentation fault (core dumped)
Je suis relativement nouveau sur le C, je suis en train de lancer un programme simple et je reçois ce message d'Erreur: erreur de Segmentation (core dumped) je veux juste imprimer n'importe quelle valeur de la matrice de bits, mais je ne peux pas, j'apprécierais toute aide sur cette erreur.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <malloc.h>
int main()
{
const long int N = 1000000000;
const int smallN = 125000000;
char bits[smallN];
for(int i=0; i<smallN; i++){
bits[i]=0xff;
}
printf("character = %c \n", bits[5]);
}
OriginalL'auteur Percy | 2012-02-14
Vous devez vous connecter pour publier un commentaire.
Le tableau semble être le dépassement de la taille de la pile (bits est un tableau sur la pile). Vous pouvez essayer de décisions à l'échelle mondiale ou de l'allocation de la matrice à l'aide de malloc.
OriginalL'auteur Jesus Ramos
Noter que c'est le genre de chose que Valgrind est bon à localiser pour vous. Si vous aviez fait cela à l'intérieur d'un gros morceau de code, Valgrind serait point à la ligne qui était faux.
Pour l'apprentissage de C dans cette journée et l'âge, Valgrind, qu'il est indispensable.
OriginalL'auteur Michael Dillon