Newsgroup: it.comp.lang.c
Titolo: Come verificare le cose apprese??

Scusate se sono OT! cmq volevo chiedere un consiglio!
Come posso verificare ciò che ho imparato di C?
Mi potete suggerire siti dove reperire sorgenti che potrebbero essermi
utili?
Oppure potreste darmi un'idea su qualche programmino semplice da sviluppare!
(ambiente Win Consolle)
by      /* }<S:g:R:u:N:g>{ */
=================================================
In principio, il file era informe e vuoto,
e il vuoto era sulla faccia dei bit.
E le Dita dell'Autore si mossero sulla faccia della tastiera.
E l'Autore disse "Siano le parole!",
e le parole furono.
=================================================

 Come posso verificare ciò che ho imparato di C?
  Un consiglio circolato tempo fa c.l.c: leggi le FAQ e prova a dare una
risposta, dopodiche` confrontala con quella originale.
 
http://www.eskimo.com/~scs/C-faq/top.html
	Alla prossima,
		Marco




 >Come posso verificare ciň che ho imparato di C?


 Allora che ne dici? cosa devo fare?
Cambia libro e ricomincia da capo :):)
Scherzo ovviamenete,soltanto che per imparare il c ci sono libri molto +
validi tipo K&R versione 2 per esempio.
Comunque in base a quello che dovresti a questo punto aver appreso sapresti
dirmi  date le 2 dichiarazioni:
    char ptr_1[]="Ciao";
e
    char *ptr_2="Ciao";
perche' sizeof(ptr_1) != sizeof(ptr_2) ?
Non guardare il libro e'! : ) :)
Ivan Molella

 wrote in message
397DEEA3...@NoSpAm.tin.it...


 Quindi l'array dovrebbe occupare di piů!
La risposta e' giusta,ma la differenza tra i 2 tipi di dato non e' coretta.....
E' per questo che io sostengo che prima di passare al c++ si debbano digerire
BENE i sottili concetti del c.
char *ptr_2  non e' un puntatore a (array di char) ma un puntatore a (char);
char (*ptr_3)[10] e' un puntatore a (array di char);
Ivan Molella
Ivan Molella

 Allora che ne dici? cosa devo fare?
  Comprati un altro libro e fai un secondo tentativo. ;)
	Alla prossima,
		Marco


Io penso che in primis dovresti esercitarti ad applicare con un
programma ogni "capitolo" delle tue conoscenze e magari mischiando le
tue conoscenze.
Es. sviluppare un programmino che utilizzi quasi tutte le tue capacità
di  programmazione.
Io personalmente ti consiglierei di provare a fare la classica rubrica
telefonica che potrebbe coinvolgere molte delle tue abilità.
Ti ho allegato una analisi che avevo fatto a scuola di una agenda
telefonica.
P.s. gli stralci di codice sono in pascal e la rubrica non utilizza i
puntatori ma spero che ciò per te non sia un problema e ti
consiglierei di sfruttarli i puntatori in c (sarebbe + semplice e
scriveresti meno codice)
Cmq se hai dei problemi nel capire il pascal fammelo sapere.
Ciao ciao e tienimi aggiornato
Lawrence Oluyede
rhy...@tiscalinet.it
"Per cambiare, 
per diventare un' altra cosa
dobbiamo prima sapere cosa siamo"
Bruce Lee









Secondo me perche´ sizeof(ptr_1) da´ 5 essendo l´ampiezza dell´intero array
che e´ composto dai 4 caratteri di Ciao + il carattere di terminazione della
stringa,
mentre sizeof(ptr_2) da´ 4 essendo la size di un puntatore appunto 4, mentre
una volta poteva essere 2 o 4 a seconda che fosse far o near pointer.
Mi da´ 18 professore? :)
Mauro

 >


a 16 anni 88mila sono un bel po' di soldi se li spendi per un libro!!! :((((
Vero, pero' se conosci un pochino l'inglese (e alla tua eta' dovresti)
puoi sempre prelevare il file .pdf dal sito dell'autore
(
http://www.bruceeckel.com/
) oppure direttamente da una delle tante
pagine che li ospitano (ad esempio 
http://members.xoom.com/Eckel2/
).
Inoltre, secondo me, e' un libro che oltre a essere valido per quanto
riguarda il C e' anche molto ben scritto, con un inglese facile e
scorrevole e quindi lo puoi usare anche per migliorare il tuo inglese.
Presso lo stesso sito trovi anche il libro (sempre in PDF) su Java.
ciao

Ivan Molella
Secondo me la risposta non era giusta.
Non e´ vero che l´array dovrebbe occupare di piu´ come e´ stato detto.
L´ipotesi era:
char ptr_1[]="Ciao";
char *ptr_2="Ciao";
La sizeof di ptr_1 da´ la dimensione dell´array di caratteri con lo 0
terminatore compreso, per cui da´ 5 essendo la stringa "Ciao", ma se la
stringa fosse stata "No" allora la sizeof avrebbe dato 3.
Mentre la sizeof di ptr_2 essendo questi un puntatore dara´ 4 poiche´ i
puntatori sono composti di 4 bytes, mentre una volta si distinguevano i
puntatori near e quelli far perche´ i primi erano di soli 2 bytes dovendo
solo indicare l´offset all´interno del segmento di memoria (questo per il
vecchio Dos).
Ciao

Secondo me č molto meglio il libro della APOGEO "Programmare in C" del K&E
(che č troppo sintetico e ha pochissimi esempi/esercizi)...
IMHO....
Ciiips
Enrico S.

 char *ptr_2="Ciao";
La risposta e' giusta in quanto lui non ha detto che l ' array occupa di piu'
in quanto dato di tipo array,ma implicitamente(almeno io l'ho interpretato
cosi') ha detto essere piu' grande in quanto array di 5 elementi.
Ivan Molella