PDA

View Full Version : [C++] somme e puntatori


ST6Man
09-08-2008, 17:50
Data la mia grande ignoranza vi propongo un quesito.. non mettetevi a ridere però eh! :D
Sto giocando con i puntatori in c++ :


int * plen;

/* righe di codice ../*

*plen = *plen + sizeof(struct ip) + sizeof(struct tcphdr);



Cosa c'è di sbagliato in queste 2 righe?? Il programma termina con un segmentation fault e controllando con gdb questo avviene esattamente sulla seconda riga di codice qui scritta.

Qualcuno sa svelarmi l'arcano?

Grazie in anticipo :)

Unrue
09-08-2008, 18:07
Semplice, plen non punta a nulla, quindi quando tenti di accedere al contenuto del puntatore, crasha.

recoil
09-08-2008, 18:39
eh eh se non lo inizializzi chissà dove sta puntando... tenti di accedere a un'area di memoria fuori dal tuo spazio di indirizzamento e il programma termina la sua esistenza in modo violento e con grande spargimento di sangue :eek:

a parte le cazzate, fai puntare p a una qualsiasi variabile intera, usando &, poi funzionerà.
oppure togli quel * prima di plen e andrà tutto :D

ST6Man
09-08-2008, 19:12
Ahhhh e io che mi aspettavo un errore in compilazione per cose del genere :D

Grazie mille a tutti ;)

recoil
10-08-2008, 12:59
uhm no, puoi vedere un warning ma tecnicamente non hai commesso un errore, il programma può benissimo compilare