[Dъvida]Variбvel, Array e Enumeador
#1

Digamos que eu tenha:

Код:
new Usuario[MAX_PLAYERS][Enum];

Quero q me corrijam se eu estiver errado!


Usuario = Variavel
MAX_PLAYERS = Array
Enum = Eumerador

Entгo eu poderia dizer que й uma variбvel com a array MAX_PLAYERS juntamente com um enumerador?
Reply
#2

Bora ser economista?

Duvidas Curtas
Reply
#3

Exemplos:

new ABC[15]// = 16 variaves
/
new BDE[10][15] // = a 151 variaveis

new PInfo[MAX_PLAYERS][Enumerador]// = MAX_PLAYERS * Enumerador
Reply
#4

Obrigado pelo aviso, solicitei a exclusгo do tуpico ao admin.

@TOPICO

Obrigado pela ajuda, me serviu bastante e merece +rep!

@EDITADO

Mas e se eu utilizar string ao invйs de demais variбveis, terei 15 caracteres e nгo 15 variбveis.
Poderia assumir o valor de uma ou de outra, certo?

@EDITADO І

new ABC[15]
Nгo seria 15 vбriaveis? Porque tipo assim, se comeзa do 0 vai atй o 14, se fazer atй 15 da erro, pois passa o limite de variбveis.
Reply
#5

Quote:
Originally Posted by BykiLler
Посмотреть сообщение
Exemplos:

new ABC[15]// = 16 variaves
/
new BDE[10][15] // = a 151 variaveis

new PInfo[MAX_PLAYERS][Enumerador]// = MAX_PLAYERS * Enumerador
Sua explicaзгo estб errada.

Veja este tutorial, irб te ajudar bastante.
Reply
#6

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
Reply
#7

Agora sim ficou extremamente claro e concordo com vocк quando diz que й uma dъvida simples, porйm que acaba nos confundindo.
E nгo vou procurar por mais tutoriais. O seu foi mais do que claro!
Muito obrigado pela explicaзгo, tanto lуgica quanto prбtica.
Sу achei um desperdнcio tudo isso em um tуpico de dъvida, sinceramente, deveria colocar como tutorial, pois ficou realmente bom e de fбcil entendimento.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)