Warhorstl
Commodore
- Registriert
- Nov. 2008
- Beiträge
- 4.613
Hi!
Mein Tutor ist leider Gottes eine Flasche und nach 2 Stunden Fehlersuche bekomme ich immer noch einen Fehler.
Ausgabe ist:
yolo
yolo
yolo
yolo
yolo
wow, much math
Speicherzugriffsfehler (Speicherabzug geschrieben)
Sprich, das Programm läuft komplett durch, aber trotzdem wird irgendwo ein Fehler produziert.
Das Programm besteht aus einer Bib project.h und einer main.c. Ich habe beide Dateien mal auf den relevanten Part verkürzt.
Kurze Erklärung: Es wird ein Vektor der Struktur Vector erzeugt, mit der Länge 5 und Nullen als Einträgen initialisiert und dann soll er wieder restlos entfernt werden.
project.h
main.c
Schonmal danke für jede Hilfe.
Gruß
Warhorstl
Mein Tutor ist leider Gottes eine Flasche und nach 2 Stunden Fehlersuche bekomme ich immer noch einen Fehler.
Ausgabe ist:
yolo
yolo
yolo
yolo
yolo
wow, much math
Speicherzugriffsfehler (Speicherabzug geschrieben)
Sprich, das Programm läuft komplett durch, aber trotzdem wird irgendwo ein Fehler produziert.
Das Programm besteht aus einer Bib project.h und einer main.c. Ich habe beide Dateien mal auf den relevanten Part verkürzt.
Kurze Erklärung: Es wird ein Vektor der Struktur Vector erzeugt, mit der Länge 5 und Nullen als Einträgen initialisiert und dann soll er wieder restlos entfernt werden.
project.h
Code:
#ifndef __PROJECT_H
#define __PROJECT_H
// data types
typedef struct {
int nrows;
double *value;
} Vector;
// initialize vector
void createvec(Vector *x, int n){
x->nrows = n;
// allocate memory
x = (Vector *)malloc(sizeof(Vector));
x->value = (double*)malloc(n*sizeof(double));
// fill with zero
int i;
for(i=0; i<n; i++){
x->value[i] = 0;
}
}
// delete vector
void deletevec(Vector *x){
int i;
for(i=0; i<x->nrows; i++){
printf("yolo\n");
x->value[i] = 0;
}
free(x);
}
#endif
main.c
Code:
#include <stdio.h>
#include <stdlib.h>
#include "project.h"
int main()
{
Vector *x;
createvec(x,5);
deletevec(x);
printf("wow, much math \n");
}
Schonmal danke für jede Hilfe.
Gruß
Warhorstl