Perguntas sobre a linguagem SI - página 9

 
Кеша Рутов:

Nomeu_ponto*m é um ponteiro a int, e o comentário diz que é uma matriz, ou seja, para cada linha um número diferente de colunas, isto é chamado de "matriz de pente" e não de retangular.

Ele simplesmente aloca memória para este conjunto de comprimentos de linha, sem valores

Para a própria matriz M.

aqui é alocada memória para apontadores de filas

e aqui para as colunas

Sim, provavelmente terei que deixar a estrutura no lugar para que não haja confusão mais tarde.

Ia apenas substituí-la por uma matriz.

 
Maxim Dmitrievsky:

Sim, provavelmente teremos que manter a estrutura para não ficarmos confusos depois

Eu só queria substituí-la por uma matriz.

Exatamente, para não ficar confuso, houve uma época em que também neguei enumeração, estruturas extras e assim por diante, tudo o que você pode fazer sem, e então você olha para este código após alguns meses e é mais fácil reescrever do zero, sem mencionar outros telespectadores, você pode ficar realmente envergonhado. Além disso, em sistemas e plus arrays padrão quando atribuídos e passados para uma função tornam-se referências, não há como descobrir o tamanho e estrutura em muitos casos, já está claro sobre os dinâmicos, não é sequer uma array, mas apenas um pedaço de memória na forma de um ponteiro para o primeiro 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]);

Foi onde eu consegui, quando anteriormente declarado matriz bidimensional M(duplo **M; /* a matriz (equi)característica */), mas este f-i passou apenas um fio "pente" M[i]... e no µl já feito através de matrizes. E agora eu estou jurando por muito tempo.

Mas talvez o problema seja rebuscado.

 
Gosto de rap científico e tecnológico sobre a Chttps://www.youtube.com/watch?v=cdX8r3ZSzN4
 

***

 
Konstantin Nikitin:

bazhenovivansergeevich para Freelance

um pouco mais e ele é banido :-)

se um moderador gentil não apagar o anterior.

 
Maxim Kuznetsov:

Um pouco mais e ele é banido :-)

se um moderador gentil não apagar o antigo.

Bem, às vezes um banya pode ajudar a clarear sua cabeça.

 

o que esta construção retorna no final:

typedef struct TF_Status TF_Status;
TF_Status* TF_NewStatus();

Olhei para o tamanho doTF_Status - se a compilação for de 32 bits, são 4 bytes, se for de 64 bits, são 8 bytes.

Eu não consigo descobrir o queTF_NewStatus()retorna?

 
Igor Makanu:

o que esta construção retorna no final:

Olhei para o tamanho doTF_Status - se a compilação for de 32 bits, são 4 bytes, se for de 64 bits, são 8 bytes.

Eu não consigo descobrir o queTF_NewStatus()retorna?

Se você escrevê-lo corretamente, ele retornará o ponteiro para a estrutura.