Seria bacana se esse tуpico nгo fosse excluнdo, porque apesar de ser uma dъvida simples muita gente acaba se confundindo com esses assuntos.
Vamos lб!
O que й uma variбvel e uma array?
Uma variбvel й uma
posiзгo da memуria que armazenarб algum valor. Quando vocк declara alguma variбvel no seu script, vocк estб ocupando um espaзo na memуria, por isso й importante nгo criar variбveis desnecessбrias, para evitar o
desperdнcio de memуria. Contudo quando vocк cria alguma variбvel de forma local esta serб destruнda apуs chegar no final das chaves.
Se uma variбvel й uma posiзгo da memуria, entгo o que й uma array? Falando de forma resumida, uma array й simplesmente um
conjunto de posiзхes de memуria! Ou seja, quando vocк declara no seu script
new arr[5]; vocк estб declarando uma array com
5 posiзхes (0, 1, 2, 3, 4).
Pra ficar mais claro ainda, basta vocк pensar nas arrays como uma lata de sardinha
Enumeradores e defines
Um enumerador й uma forma de organizar os seus cуdigos, tipo uma lista numйrica, porйm com nomes no lugar de nъmeros.
No exemplo abaixo eu numerei os dias da semana, tendo domingo como o primeiro dia (valor 0) e sбbado como sйtimo (valor 6).
PHP код:
enum DIAS
{
DOMINGO // 0
SEGUNDA, // 1
TERCA, // 2
QUARTA, // 3
QUINTA, // 4
SEXTA, // 5
SABADO // 6
}
Portanto se vocк fizer...
printf("%d", QUINTA);
... irб imprimir 4 no console!
Ok, agora sabemos que os enumeradores servem para enumerar itens, entгo pra que servem as defines?
As defines (macros) trata-se de uma diretiva capaz de definir um termo em algum valor. Diferente dos enumeradores, as defines tem um uso muito mais amplo do que simplesmente enumerar itens, й possнvel atй mesmo criar funзхes com macros! Mas como o objetivo da minha resposta й explicar um pouco sobre os recursos que vocк perguntou, nгo vou chegar a fundo nesse assunto.
Uma define que vocк certamente deve conhecer й a MAX_PLAYERS, que estб definida por padrгo com o valor 500.
Portanto quando vocк declara
new arr[MAX_PLAYERS]; vocк estб criando uma
array com
500 posiзхes!
NOTA: MAX_PLAYERS й uma definiзгo, nгo array!
Colocando em prбtica
Quando vocк faz:
new Usuario[MAX_PLAYERS][Enum];
Vocк estб criando uma array multidimensional com 500 posiзхes e cada posiзгo abriga x posiзхes! Й como se fosse uma array de arrays, porйm organizada
Ex:
new arr2d[4][6];
de forma ilustrada й o mesmo que:
|0|1|2|3|4|5|
|0|1|2|3|4|5|
|0|1|2|3|4|5|
|0|1|2|3|4|5|
Ou seja, 4 linhas (posiзхes) e 6 colunas (posiзхes)
e de forma organizada e de fбcil manuseio й o mesmo que:
PHP код:
enum COLUNAS
{
coluna_zero,
coluna_um
coluna_dois,
coluna_tres
coluna_quatro,
coluna_cinco
}
new arr2d[4][COLUNAS];
Viu como й fбcil? Dб pra fazer coisas bem interessantes com esses recursos, por isso recomendo que vocк procure por tutoriais especнficos