Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    numobj viene incrementato ogni volta.
    quindi come nel mio caso ci sono 3 oggetti, 2 rettangoli e 1 immagine , non capisco perchè (Picture*) puntObj[0] abbia gli stessi valori di (Rettangolo*) puntObj[0] . Perchè il puntatore punta alla stessa area di memoria puntObj[0]? e quindi poi prende i valori letti e li mette nella struttura indicata dal puntatore ? Ma se volessi leggere le aree che ho allocato? AIUTOOO mi sto perdendo


  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da MaledettoC Visualizza il messaggio
    numobj viene incrementato ogni volta. quindi come nel mio caso ci sono 3 oggetti, 2 rettangoli e 1 immagine , non capisco perchè (Picture*) puntObj[0] abbia gli stessi valori di (Rettangolo*) puntObj[0] . Perchè il puntatore punta alla stessa area di memoria puntObj[0]? e quindi poi prende i valori letti e li mette nella struttura indicata dal puntatore ? Ma se volessi leggere le aree che ho allocato? AIUTOOO mi sto perdendo
    C'è un po' di confusione ... Se leggi in memoria dei dati secondo una struttura, il puntatore lo devi usare coerentemente. Ovvero se i primi due puntatori puntano a strutture Rettangolo allora dovrai utilizzare puntObj[0] e puntObj[1] SEMPRE come puntatori a Rettangolo (ovvero Rettangolo *). Dato che l'ultimo puntatore l'hai usato per puntare alla struttura Picture dovrai usare puntObj[2] SEMPRE come puntatore a Picture (ovvero Picture *).Ma non ha senso usare un puntatore che punta ad un certo tipo di struttura come puntatore ad un'altra ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Io non so a priori quante strutture ci sono come rettangolo o come immagine. Quindi pensavo che un (picture*) puntobj[0] non mi facesse tornare indietro nessun risultato in quanto nella posizione [0] non c'e' un'immagine caricata ma era stata allocata per un rettangolo.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Assolutamente no. In C non esiste nulla che faccia questo tipo di controllo. Il puntatore è un semplice indirizzo di memoria che punta a dati binari e basta. Nessuno ti dice che tipo di dati ci sono, sei tu a saperlo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.