Difference between revisions of "Conceitos básicos: D"
From AdonaiMedrado.Pro.Br
(→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; | + | 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
Contents
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
- ↑ D Specification em http://www.prowiki.org/upload/duser/spec_DMD_1.00.pdf