PDA

View Full Version : [C] Due domande sugli array


agente mm8
16-12-2008, 17:57
Salve a tutti, sto scrivendo un gioco in C, SpaceWar 2.0, e avrei alcune domande da farvi sugli array.
1.è possibile fare una dichiarazione del genere (credo di no, ma comunque chiedo):
char[20][char[10]] ??? Non prendetemi in giro, non credo che si possa fare, ma è una curiosità.

2.Se ad esempio faccio:char[75][24] space;
space[20][20] = "ciao";
Ora dato che una parte dell'array può contenere solo un carattere, la posizione 20, 20 corrisponderà e "c" e poi?
O il mio ragionamento è sbagliato?

Aspetto vostre illuminazioni.

Alex_87_xelA
16-12-2008, 18:19
Salve a tutti, sto scrivendo un gioco in C, SpaceWar 2.0, e avrei alcune domande da farvi sugli array.
1.è possibile fare una dichiarazione del genere (credo di no, ma comunque chiedo):
char[20][char[10]] ??? Non prendetemi in giro, non credo che si possa fare, ma è una curiosità.


assolutamente NO !!!
tra le parentesi quadre il compilatore attende un numero ... e quello NON è tale. e comunque non hai nemmeno messo il nome della variabile

dovresti fare

char NOMEVARIABILE [...][...];


2.Se ad esempio faccio:char[75][24] space;
space[20][20] = "ciao";
Ora dato che una parte dell'array può contenere solo un carattere, la posizione 20, 20 corrisponderà e "c" e poi?
O il mio ragionamento è sbagliato?

Aspetto vostre illuminazioni.

prima di tutto hai sbagliato la dichiarazione ...
char space[75][24];

poi stai anche sbagliando l'assegnazione ... stai assegnando ad un singolo carattere nella posizione [20][20] una stringa ... ed è un'altro errore ... però io ti suggerirei più di inizziare a creare questo giochetto ... di studiae un pò la programmazione e il C.

agente mm8
16-12-2008, 20:09
Per il fatto della dichiarazione dell'array è stato un mio errore di scrittura, ma so che si dichiara in altro modo.
Grazie mille per le risposte.

Alex_87_xelA
16-12-2008, 21:18
Per il fatto della dichiarazione dell'array è stato un mio errore di scrittura, ma so che si dichiara in altro modo.
Grazie mille per le risposte.

prego ... se hai ancora bisogno .... a disposizione :D

cionci
17-12-2008, 10:41
Per il fatto della dichiarazione dell'array è stato un mio errore di scrittura, ma so che si dichiara in altro modo.
Grazie mille per le risposte.
Devi usare strcpy per copiare una stringa in quel vettore bidimensione (meglio strncpy).