PDA

Visualizza la versione completa : Errore con Netbeans : Signal received: SIGSEGV (Segmentation fault) For program cppapplication_6, pid 11.200 You may discard the signal or forward it and you may continue or pause the process


Marcolino21
19-08-2016, 13:58
Salve,
ho difficoltà a eseguire questo codice in C e spesso mi capita anche con altri.
Ho letto qualcosa che sembrerebbe memoria corrotta.
Come posso risolvere ?
Io utilizzo Netbeans :

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


/*
*
*/
static char *s;
static char *t;


main() {

*s = "ciaos";
*t = "hello";
strCopy(*s,*t);



}


//versione con vettori


void strCopy(char *s,char *t){


int i = 0;

while((s[i] = t[i]) != '\0'){

i++;

}



}


// versione con puntatori


void strCop(char *s,char *t){


while((*s = *t) != '\0'){

*s++;
*t++;

}


}


Grazie

Scara95
20-08-2016, 03:04
Leggi la serie di warning che ti da il compilatore.

oregon
20-08-2016, 08:56
In particolare nelle prime due righe i due puntatori non puntano a memoria allocata. Ricorda che un puntatore non basta se non c' è lo spazio a cui punta per una stringa.

p.s. Non scrivere un titolo kilometrico... Basta poco e tutto il resto nel thread!

Loading