Domande sul linguaggio SI - pagina 9

 
Кеша Рутов:

Inmine_score*m è un puntatore a int, e il commento dice che è un array, cioè per ogni riga un numero diverso di colonne, questo si chiama "array a pettine" non rettangolare.

Alloca semplicemente la memoria per questo array di lunghezze di righe, nessun valore

Per la matrice M stessa.

qui viene allocata la memoria per i puntatori delle righe

e qui per le colonne

Sì, probabilmente dovrò lasciare la struttura sul posto in modo che non ci sia confusione dopo

Volevo solo sostituirla con una matrice.

 
Maxim Dmitrievsky:

Sì, probabilmente dovremo mantenere la struttura per non confonderci dopo

Volevo solo sostituirlo con una matrice.

Esattamente, per non confondersi, c'è stato un tempo in cui ho negato anche gli enum, le strutture extra e così via, tutto ciò di cui si può fare a meno, e poi si guarda questo codice dopo un paio di mesi ed è più facile riscriverlo da zero, per non parlare degli altri spettatori, si può diventare davvero imbarazzati. Inoltre, in sys e plus gli array standard quando vengono assegnati e passati a una funzione diventano riferimenti, non c'è modo di capire la dimensione e la struttura in molti casi, è già chiaro su quelli dinamici, non è nemmeno un array ma solo un pezzo di memoria sotto forma di puntatore al primo elemento.

 
 if (param->est == EST_MIC_APPROX)
        ret = OptimizeXAxis(xx, yx, prob->n, Q_map, q, P_map, p, score->m[i]+1,
                            score->M[i]);

Ecco dove ho ottenuto, quando precedentemente dichiarato 2-dimensionale array M(doppio **M; /* la matrice (equi)caratteristica */), ma questo f-i passato solo una stringa "pettine" M[i]... e su µl già fatto attraverso matrici. E ora sto imprecando per molto tempo.

Ma forse il problema è inverosimile.

 
Mi piace la scienza e la tecnologia rap su Chttps://www.youtube.com/watch?v=cdX8r3ZSzN4
 

***

 
Konstantin Nikitin:

bazhenovivansergeevich a Freelance

un po' di più e viene bandito :-)

se un moderatore gentile non cancella il precedente.

 
Maxim Kuznetsov:

Un po' di più e viene bandito :-)

se un moderatore gentile non cancella quello vecchio.

Beh, a volte un banya può aiutare a schiarirsi le idee.

 

ciò che questo costrutto restituisce alla fine:

typedef struct TF_Status TF_Status;
TF_Status* TF_NewStatus();

Ho guardato la dimensione diTF_Status - se la compilazione è a 32 bit, è di 4 byte, se è a 64 bit, è di 8 byte.

Non riesco a capire cosa restituisceTF_NewStatus()?

 
Igor Makanu:

ciò che questo costrutto restituisce alla fine:

Ho guardato la dimensione diTF_Status - se la compilazione è a 32 bit, è di 4 byte, se è a 64 bit, è di 8 byte.

Non riesco a capire cosa restituisceTF_NewStatus()?

Se lo scrivete correttamente, restituirà il puntatore alla struttura.
Motivazione: