Come un char non può avere segno?! daiiii!

Allora in C / C++ i caratteri ASCII sono codificati da un numero. Ora i caratteri ASCII standard vanno da 0 a 255 cioè un char (unsigned) mentre un char signed va da -127 a 128. Ora niente ti proibisce di utilizzare un char come contatore (certo limitato a 255) ma comunque un numero! Non so se sono chiaro! Cmq ti consiglio di leggere un buon libro sul C per fugare i tuoi dubbi!

e long? quanto è?
cioè in termini di valore numerico? o cosa?
un long int (signed) va da –2.147.483.648 a 2.147.483.647,
mentre un long int (unsigned) va da 0 a 4.294.967.295

io sono abituato solo ad usare int e float ma ci sta anche double che è a precisione doppia, ma che cosa significa?
semplice un double ha una rappresentazione, in bit, doppia rispetto a un float. Esempio, su macchine Intel a 32 bit un float è 4 bytes (quindi un numero con precisione a 7 cifre), mentre un double è 8 bytes (quindi con precisione a 15 cifre)

un char* in visual basic 6 a cosa corrisponde?
Se ben ricordo il VB, dovrebbe essere char&, cioè il puntatore al char, ma non ricordo se è esatto o meno, ho abbandonato il VB da tempo ormai!

bye
alex