Archief - Segmentation fault

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Blood_Raven

Legacy Member
Eerste keer dat ik terug in C programmeer na een tijdje, maar welke fout maak ik hier? Ik krijg altijd een segmentation fault. :help:

Code:
#include <stdio.h>
#include <stdlib.h>

void pass(int *array) {
	array = (int*)malloc(sizeof(int)*3);
	*(array + 0) = 1;
	*(array + 1) = 2;
	*(array + 2) = 3;
}


int main()
{
	int *array = NULL;
	unsigned int i = 0;
	
	pass(array);
	
	for(i=0; i<3; i++) {
		printf("%d\n", *(array+i));
	}
	
	free(array);
	array = NULL;
	return 0;
}

Gurdt

Legacy Member
je alloceert "array" in een functie, maar in je main-functie is die nog steeds NULL. Dus ofwel return je die ofwel geef je het adres mee ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan