Difference between revisions of "Conceitos básicos: D"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(Vetores e matrizes)
Line 31: Line 31:
 
=== Ponteiro ===
 
=== Ponteiro ===
 
<code lang="d">
 
<code lang="d">
int* p;
+
int *p;
 
</code>
 
</code>
  
Line 37: Line 37:
 
<code lang="d">
 
<code lang="d">
 
int[3] s;
 
int[3] s;
 +
int s[3];
 
</code>
 
</code>
 +
 +
Tamanho máximo: 16Mb.
  
 
=== Vetor dinâmico ===
 
=== Vetor dinâmico ===
 
<code lang="d">
 
<code lang="d">
 
int[] a;
 
int[] a;
 +
int a[];
 
</code>
 
</code>
  
 
=== Vetor associado ===
 
=== Vetor associado ===
 
<code lang="d">
 
<code lang="d">
int[char[]] x; Associative arrays
+
int[char[]] x;
 +
</code>
 +
 
 +
=== Ponteiro para vetor dinâmico ===
 +
<code lang="d">
 +
int[]* e;
 +
int (*e)[];
 +
</code>
 +
 
 +
=== Ponteiros para vetores ===
 +
<code lang="d">
 +
int*[]*[3] d;
 +
int*[]* d[3];
 +
int* (*d[3])[];
 +
</code>
 +
 
 +
=== Matrizes estáticas ===
 +
<code lang="d">
 +
int[4][3] b;
 +
int[4] b[3];
 +
int b[3][4];
 +
</code>
 +
 
 +
=== Matrizes dinâmicas ===
 +
<code lang="d">
 +
int[][5] c;
 +
int[] c[5];
 +
int c[5][];
 
</code>
 
</code>
  

Revision as of 13:30, 2 April 2009

Tipos básicos [1]

void no type -
bool = false
byte (8 bits com sinal) = 0
ubyte (8 bits sem sinal) = 0
short (16 bits com sinal) = 0
ushort (16 bits sem sinal) = 0
int (32 bits com sinal) = 0
uint (32 bits sem sinal) 0
long (64 bits com sinal) = 0L
ulong (64 bits sem sinal) = 0L
cent (128 bits com sinal - reservado) = 0
ucent (128 bits sem sinal - reservado) = 0
float (ponto flutuante de 32 bits) = float.nan
double (ponto flutuante de 64 bits) = double.nan
real (maior ponto flutuante implementado pelo hardware) real.nan
ifloat (float imaginário) = float.nan * 1.0i
idouble (double imaginário) = double.nan * 1.0i
ireal (real imaginário) = real.nan * 1.0i
cfloat (número complexo com dois valores float) = float.nan + float.nan * 1.0i
cdouble (número complexo com dois valores double) = double.nan + double.nan * 1.0i
creal (número complexo com dois valores real) = real.nan + real.nan * 1.0i
char (8 bits sem sinal - UTF-8) = 0xFF
wchar (16 bits sem sinal - UTF-16) = 0xFFFF
dchar (32 bits sem sinal - UTF-32) = 0x0000FFFF

Vetores e matrizes

Ponteiro

int *p;

Vetor estático

int[3] s;
int s[3];

Tamanho máximo: 16Mb.

Vetor dinâmico

int[] a;
int a[];

Vetor associado

int[char[]] x;

Ponteiro para vetor dinâmico

int[]* e;
int (*e)[];

Ponteiros para vetores

int*[]*[3] d;
int*[]* d[3];
int* (*d[3])[];

Matrizes estáticas

int[4][3] b;
int[4] b[3];
int b[3][4];

Matrizes dinâmicas

int[][5] c;
int[] c[5];
int c[5][];

Estruturas condicionais

if

switch

? :

Estrutura de repetição

for

while

do...while

Declaração

Bloco

Função

Classe

Referências

  1. D Specification em http://www.prowiki.org/upload/duser/spec_DMD_1.00.pdf