Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-01-2008, 15:13   #1
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
[C] Qualcuno sa risolvere l'errore?

In qst funzione:
Codice:
/*funzione chiamata dalla inserisci(char*u)*/
nodo*insert_in_albero(nodo*p,char*u){
        int x=strlen(u);                      
        if (p==NULL){
      /*riservo uno spazio per nodo*/                
        p=(nodo*)malloc( sizeof(nodo));
        if(!p){
          printf("Errore di allocazione\n");
          }
                        
        else{
          p->parola= strdup(u); /*copia la stringa u nella sringa p->parola*/
          p->lung_parola=strlen(p->parola); /*prendi la lunghezza della stringa
                                                        p->parola e metti nel campo p->lung_parola*/ 
          p->left=p->right=NULL;
          q=p;
          return p;
        }
        }
              if(strcmp(u,p->parola)<0){            /*se u è lessicograficamente minore di p->parola 
                                                               inseriscilo a sinistra*/
               p->left=insert_in_albero(p->left,u);
               return p;
              }
                                                                                         
                   else if(strcmp(u,p->parola)>0){ /*altrimenti inseriscilo a destra*/
                                   
                                    p->right=insert_in_albero(p->right,u);
                                    return p;
                                                 }                   
                        else {
                                  printf(" %s è una parola già inserita\n",p->parola);
                                   system("PAUSE");
                                   p->parola=u;
                                 return p;
                               }
                      }

mi da un errore in qst riga:
p->parola= strdup(u);/*copia la stringa u nella sringa p->parola*/
dicendomi: [Warning] assignment makes pointer from integer without a cast

come risolvo?

Ultima modifica di Fabietto206 : 27-01-2008 alle 14:35.
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2008, 15:23   #2
andrea0032
Member
 
Iscritto dal: Oct 2004
Messaggi: 98
parola l'hai dichiarato come char* ?
la stringa u da dove l'acquisisci?
andrea0032 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2008, 18:54   #3
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da andrea0032 Guarda i messaggi
parola l'hai dichiarato come char* ?
la stringa u da dove l'acquisisci?
Si, parola è di tipo char*.
u è un parametro della funzione invece!!

Cmq la stringa la inserisco cn la seguente funzione:
Codice:
/*funzione di inserzione di una parola nell'albero*/
void inserisci(char*u){
    q=insert_in_albero(q,u);
    
     }

Ultima modifica di Fabietto206 : 27-01-2008 alle 14:32.
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 14:36   #4
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Nessuno sa aiutarmi?
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 16:08   #5
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
prova a usare strcpy o ancora meglio strncpy specificando un limite massimo di caratteri da copiare che dipende dallo spazio che hai allocato per la variabile in cui copi la stringa.

Ultima modifica di k0nt3 : 27-01-2008 alle 16:16.
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 16:29   #6
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
prova a usare strcpy o ancora meglio strncpy specificando un limite massimo di caratteri da copiare che dipende dallo spazio che hai allocato per la variabile in cui copi la stringa.
Nn riesco a capire cs vuoi dire!!
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 16:38   #7
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
Nn riesco a capire cs vuoi dire!!
strcpy copia il contenuto di una stringa in un'altra stringa. la sua signature è: char *strcpy(char *destination, const char *source)

ora.. ci sono dei problemi se la stringa sorgente è più grande della memoria allocata per la stringa destinazione, quindi è meglio usare strncpy: char *strncpy(char *destination, const char *source, size_t n);
dove "n" è il numero massimo di caratteri da copiare.
ma tu non allochi memoria per la variabile parola vero?
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 20:46   #8
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
strcpy copia il contenuto di una stringa in un'altra stringa. la sua signature è: char *strcpy(char *destination, const char *source)

ora.. ci sono dei problemi se la stringa sorgente è più grande della memoria allocata per la stringa destinazione, quindi è meglio usare strncpy: char *strncpy(char *destination, const char *source, size_t n);
dove "n" è il numero massimo di caratteri da copiare.
ma tu non allochi memoria per la variabile parola vero?
No, nn la alloco la memoria x la variabile parola
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 10:50   #9
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
mi da un errore in qst riga:
p->parola= strdup(u);/*copia la stringa u nella sringa p->parola*/
dicendomi: [Warning] assignment makes pointer from integer without a cast

come risolvo?
ah che stupido ho capito adesso qual'è il problema.
dichiara la struct in maniera simile a questa:
Codice:
typedef struct nodo
{
    char* parola;
    int lung_parola;
    struct nodo *left, *right;
} nodo;
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 12:00   #10
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
ah che stupido ho capito adesso qual'è il problema.
dichiara la struct in maniera simile a questa:
Codice:
typedef struct nodo
{
    char* parola;
    int lung_parola;
    struct nodo *left, *right;
} nodo;
è già dikiarato così....se vuoi ti posso mandare il codice così vedi x bene...
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 12:01   #11
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
è già dikiarato così....se vuoi ti posso mandare il codice così vedi x bene...
sicuro di avere messo typedef struct nodo all'inizio e poi nodo; alla fine? servono tutti e due
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 13:37   #12
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Ho fatto così:
Codice:
/*variabili globali */

typedef struct nodo_albero nodo;

    nodo*q=NULL;
   
    nodo*t=NULL;
   
    char *s;
     
char nom[ARRASIZE];

FILE* fp;
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @      INIZIO FILE .h               @
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/

/*struttura di un nodo dell'albero*/
struct nodo_albero{
       char*parola;
       int lung_parola;
       struct nodo_albero*left;
       struct nodo_albero*right;
       
       };
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Secondo Elon Musk FSD è più...
Anche Cloudflare fissa il 2029 per la si...
Hacker sfruttano da mesi un bug segreto ...
ASUSTOR Lockerstor 24R Pro Gen2: 24 bay ...
Rigetti supera la soglia dei 100 qubit: ...
eFootball raggiunge il miliardo di downl...
Come provare OpenClaw facilmente grazie ...
Microsoft conferma: questo glitch dell'o...
Toyota bZ7: una berlina da oltre 5 metri...
Artemis II, le prime foto del lato nasco...
Sempre più pubblicità su YouTube: arriva...
Polestar fa +80% in Italia e tocca quota...
Il tuo Mac smette di connettersi a Inter...
La nuova alleanza Intel-Google ridefinis...
Energia troppo cara, regole da rivedere:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:25.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v