Ok giusto.
E se :
int* a =0x00110022; a++;
Quanto vale a? Perchè?
Ok giusto.
E se :
int* a =0x00110022; a++;
Quanto vale a? Perchè?
Qualcosa mi suggerisce che alka chiuderà questa discussione! (Leggiti il regolamento)Originariamente inviato da Pole23
Ok giusto.
E se :
int* a =0x00110022; a++;
Quanto vale a? Perchè?
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
a nn vale niente perchè c'è un errore di sintassi e nn ti compila nemmenoOriginariamente inviato da Pole23
Ok giusto.
E se :
int* a =0x00110022; a++;
Quanto vale a? Perchè?
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona
*a = 0x....
Senza l'int davanti, lo dichiari prima..
michele
michele.facchin@virgilio.it
Server:irc.azzurra.org | /join #c
Scusate ma, al di la' del fatto che il quesito e' mal posto e tutto quello che volete, ma errori di sintassi non ce ne sono e non ho capito i commenti seguenti ...
Al massimo, potrebbe essere necessario specificare il tipo davanti alla costante con un cast
int* a = (int *)0x00110022; a++;
ma nulla di piu' ...
Per il resto, si puo' dire che e' una semplice operazione con l'aritmetica dei puntatori.
Dopo l'incremento, a varra'
0x00110022 + sizeof(int)
Dipende... se l'autore del post intendeva una scrittura come quella intesa da Michele Facchin, allora il risultato non è calcolabile.Originariamente inviato da oregon
Scusate ma, al di la' del fatto che il quesito e' mal posto e tutto quello che volete, ma errori di sintassi non ce ne sono e non ho capito i commenti seguenti ...
Al massimo, potrebbe essere necessario specificare il tipo davanti alla costante con un cast
int* a = (int *)0x00110022; a++;
ma nulla di piu' ...
Per il resto, si puo' dire che e' una semplice operazione con l'aritmetica dei puntatori.
Dopo l'incremento, a varra'
0x00110022 + sizeof(int)
O meglio... sarà questo:
Ciao.codice:(Indirizzo di a) + sizeof(int)
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Beh ... ci dobbiamo attenere a quanto scritto dall'autore, mica possiamo fare supposizioni senza motivo.Originariamente inviato da LeleFT
Dipende... se l'autore del post intendeva una scrittura come quella intesa da Michele Facchin, allora il risultato non è calcolabile.
O meglio... sarà questo:
Ciao.codice:(Indirizzo di a) + sizeof(int)
Se viene scritto
int *a = 0x00110022;
vuol dire che si vuol assegnare un valore ad un puntatore ad intero.
E a parte il cast, ripeto, non c'e' nessuno problema.
Sono d'accordo con te... ma vista la complessità della domanda posta risulta chiaro che l'autore del post non è pratico di puntatori. E questo mi fa sorgere subito una domanda: cosa voleva fare l'autore del post quando ha posto la domanda? Voleva assegnare il valore al puntatore o assegnarlo alla variabile (locazione) puntata?Originariamente inviato da oregon
Beh ... ci dobbiamo attenere a quanto scritto dall'autore, mica possiamo fare supposizioni senza motivo.
Se viene scritto
int *a = 0x00110022;
vuol dire che si vuol assegnare un valore ad un puntatore ad intero.
E a parte il cast, ripeto, non c'e' nessuno problema.
Ciao.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Ripeto ... nessuna supposizione ... atteniamoci ai fatti ...
Quando si fara' risentire, lo chiarira' lui ...
Mettiamola cosi, un compilatore deve darti minimo un warning su una cosa del genere. Altri su un'operazione del genere ti segnalano direttamente errore di sintassi perche si rifiutano di convertire implicitamente, visto che a seconda della macchina, un puntatore potrebbe essere piu piccolo di un int e quindi essere una conversione con potenziale perdita di valore.Originariamente inviato da oregon
Se viene scritto
int *a = 0x00110022;
vuol dire che si vuol assegnare un valore (intero) ad un puntatore ad intero.
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona