Preguntas sobre la lengua SI - página 9

 
Кеша Рутов:

Enmine_score*m es un puntero a int, y el comentario dice que es un array, es decir, para cada fila un número diferente de columnas, esto se llama un "array de peines" no uno rectangular.

Simplemente asigna memoria para esta matriz de longitudes de fila, sin valores

Para la propia matriz M.

aquí se asigna memoria para los punteros de las filas

y aquí para las columnas

Sí, probablemente tendré que dejar la estructura en su sitio para que no haya confusión después

Iba a sustituirlo por una matriz.

 
Maxim Dmitrievsky:

Sí, probablemente tendremos que mantener la estructura para no confundirnos después

Sólo quería sustituirla por una matriz.

Exacto, no hay que confundirse, hubo una época en la que también renegaba de los enums, estructuras extra y demás, todo lo que se puede prescindir, y luego miras este código después de un par de meses y es más fácil reescribirlo desde cero, por no hablar de otros visores, te puede dar mucha vergüenza. Además, en sys y pluses los arrays estándar cuando se asignan y se pasan a una función se convierten en referencias, no hay forma de averiguar el tamaño y la estructura en muchos casos, ya está claro sobre los dinámicos, ni siquiera es un array sino sólo un trozo de memoria en forma de puntero al primer 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]);

Eso es lo que conseguí, cuando declaré previamente la matriz bidimensional M(double **M; /* la matriz (equi)característica */), pero este f-i pasó sólo una cadena de "peine" M[i]... y en µl ya hizo a través de matrices. Y ahora estoy jurando por un largo tiempo.

Pero tal vez el problema sea exagerado.

 
Me gusta el rap de ciencia y tecnología sobre Chttps://www.youtube.com/watch?v=cdX8r3ZSzN4
 

***

 
Konstantin Nikitin:

bazhenovivansergeevich a Freelance

un poco más y se le prohíbe :-)

si un amable moderador no borra el anterior.

 
Maxim Kuznetsov:

Un poco más y lo expulsan :-)

si un amable moderador no borra el anterior.

Bueno, a veces una banya puede ayudar a despejar la cabeza.

 

lo que esta construcción devuelve al final:

typedef struct TF_Status TF_Status;
TF_Status* TF_NewStatus();

Miré el tamaño deTF_Status - si la compilación es de 32 bits, es de 4 bytes, si es de 64 bits, es de 8 bytes.

No consigo averiguar qué devuelveTF_NewStatus() ?

 
Igor Makanu:

lo que esta construcción devuelve al final:

Miré el tamaño deTF_Status - si la compilación es de 32 bits, es de 4 bytes, si es de 64 bits, es de 8 bytes.

No consigo averiguar qué devuelveTF_NewStatus() ?

Si lo escribes correctamente, devolverá el puntero a la estructura.