[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Re: EP3: considerações.



Paulo Eduardo A. Silveira writes:
 > Oi!
 > Quanto a esse negocio do malloc no char* pra mim funcionou perfeitamente,
 > eh soh vce dar um malloc pro tamanho da palavra +1 (lembre-se do mais um
 > por causa do \0), use o strlen() para saber o tamaanho da palavra...
 > Alguem sabe como eu posso pegar um char** e ir alocando memoria aos
 > poucos.... quero dizer, tenho uma palavra, ai percebo que ela eh maior que
 > isso e quero incrementa-la, como aloco mais memoria?

O meu palpite é que voce poderia assumir que palavras têm no máximo MAX_PAL
caracteres e usar um vetor auxiliar para ler as palavras (caracter por
caracter, para que o seu programa nao dê pau tentando ler uma palavra mais
longa que MAX_PAL num vetor de tamanho insuficiente).  Depois voce aloca um
vetor com o número exato de caracteres (lembrando do '\0') para a palavra
lida.  É isto que é feito nos programas freq, a menos do fato de que as
palavras não são lidas caracter por caracter..., mas isto voces já fizeram no
EP1, certo?

Por outro lado, é capaz que voce queira fazer algo como diz para ler as
linhas, pois não sabemos o número de linhas de antemao.  Se voce tem um pedaco
de memoria e quer alterar o tamanho do espaco alocado, voce pode usar a funcao
realloc() do <stdlib.h>; vejam apendice B5 do K&R.

Se voce está mantendo as linhas indexadas por uma lista ligada, já sabemos
como fazer isto!

Boa sorte!  Y. 

 > valwww
 > paulo
 > PS: voces tambem receberam varias vezes as ultimas mensagens?
 > 
 >  -------------------------------------
 >  Message from:
 >  Paulo Eduardo Azevedo Silveira  
 >  Undergraduating in Computer Science
 >  University of Sao Paulo - IME
 >  http://www.linux.ime.usp.br/~peas
 >  -------------------------------------
 > 
 > On Fri, 13 Nov 1998, Cesar Ranzini wrote:
 > 
 > > Armando Ramos Gouveia wrote:
 > > 
 > > > Ola'.
 > > >
 > > > On Thu, 12 Nov 1998, Paulo Eduardo A. Silveira wrote:
 > > >
 > > > > Quanto a limitacao do tamamnho de palavras, o EP pode ser feito sem impor
 > > > > esse limite certo? que nem no FREQABB que tem na pagina do yoshi, eh soh
 > > > > da malloc nos char*... nao seria melhor do que declarar um comprimento
 > > > > maximo? sem contar que economizaria muuuito espaco...
 > > >
 > > > Otima ideia!
 > > >
 > > > Um abraco.
 > > >
 > > > Armando
 > > > 12/nov/98.
 > > 
 > > Pelo que eu entendi, qdo vc da malloc em um char* e depois coloca um vetor com
 > > o inicio em char* ele acaba acessando posicoes da memoria que nao foram
 > > devidamente alocadas o que causa varios tipos de problema.
 > > Alguém sabe me dizer se eu estou certo, pois eu tentei fazer isso no meu EP e
 > > aconteceram varias coisas estranhas.
 > > 
 > > 
 > > 
 >