Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-09-2011, 18:17   #1
drewus
Junior Member
 
Iscritto dal: May 2011
Messaggi: 7
[C]Problema vettore di strutture e allocazione dinamica

Codice:
struct comp *comps = 0;
struct comp *ccompx(const char name[])
{
struct comp *p;
struct comp *pa;
glob = 0;
pa = (struct comp*) malloc(sizeof(struct comp));
if(!pa)
{
    puts("Ricerca interrotta.");
    return 0;
}
int s;
for(p = comps, s = 1; p; p = p->n, s++)
{
    int i = 0;
for(; name[i] != p->name[i]; i++);
if(p && name[i] == p->name[i])
{
    int a = 1;
    for(; name[i + a] == p->name[i + a]; a++);
    if(a == strlen(name))
    {
        pa[s - 1] = p; // errore
        glob++;
        realloc(pa, sizeof(struct comp) * s + 1);
        if(!pa)
        {
            puts("Ricerca non completata.")
            goto ret;
        }
    }
    return 0;
}
}
ret:
return pa;
}
Questa è tutta la funzione. Perchè pa[s - 1] = p; non è corretto?

Ultima modifica di drewus : 01-09-2011 alle 18:32.
drewus è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2011, 23:47   #2
drewus
Junior Member
 
Iscritto dal: May 2011
Messaggi: 7
Modifica

Ho apportato le seguenti modifiche:

Codice:
struct comp *p = (struct comp*)malloc(sizeof(struct comp));
    if(!p)
    {
        //
    }
    struct comp **pv = 0;
    struct comp ***point;
    int s;
    for(p = comps, s = 1; p; p = p->n, s++)
    {
        unsigned int i = 0;
        for(; name[i] != p->name[i]; i++);
        if(p && name[i] == p->name[i])
        {
            unsigned int a = 1;
            for(; name[i + a] == p->name[i + a]; a++);
            if(a == strlen(name))
            {
                pv = (struct comp **) realloc(pv, sizeof(struct   comp*) * (s + 1));
                if(!pv)
                {
                    goto ret;
                }
                point = &pv;
                pv[s] = p;
            }
            continue;
        }
    }
    pv[0]->code = s; // l'elemento 0 funge da contatore degli elementi totali
ret:                        
    return point;
}
Se volessi che la funzione restituisse questo vettore di strutture, in modo da poterlo utilizzare nella funzione principale, quali modifiche dovrei apllicare al codice?
drewus è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Nuove fotografie dagli astronauti di Art...
La toilette della capsula Orion Integrit...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
I coupon nascosti di Amazon si rinnovano...
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: 23:27.


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