[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.
> >
> >
> >
>