Difference between revisions of "Conceitos básicos: D"
From AdonaiMedrado.Pro.Br
(→Vetores e matrizes) |
(→Vetores e matrizes) |
||
Line 27: | Line 27: | ||
</code> | </code> | ||
− | == Vetores e matrizes == | + | == Vetores e matrizes <ref name="dspecification" /> == |
=== Ponteiro === | === Ponteiro === | ||
Line 78: | Line 78: | ||
int[] c[5]; | int[] c[5]; | ||
int c[5][]; | int c[5][]; | ||
+ | </code> | ||
+ | |||
+ | === Slicing === | ||
+ | <code lang="d"> | ||
+ | int[10] a; | ||
+ | int[] b; | ||
+ | |||
+ | b = a[1..3]; // a[1..3] representa um array de 2 elementos (a[1] and a[2]). | ||
+ | </code> | ||
+ | |||
+ | == Atribuição entre vetores == | ||
+ | <code lang="d"> | ||
+ | int[3] s; | ||
+ | int[3] t; | ||
+ | |||
+ | s[0..2] = t[1..3]; // mesmo que s[0] = t[1], s[1] = t[2]. | ||
</code> | </code> | ||
Revision as of 13:41, 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 [1]
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][];
Slicing
int[10] a; int[] b; b = a[1..3]; // a[1..3] representa um array de 2 elementos (a[1] and a[2]).
Atribuição entre vetores
int[3] s; int[3] t; s[0..2] = t[1..3]; // mesmo que s[0] = t[1], s[1] = t[2].
Estruturas condicionais
if
switch
? :
Estrutura de repetição
for
while
do...while
Declaração
Bloco
Função
Classe
Referências
- ↑ 1.0 1.1 D Specification em http://www.prowiki.org/upload/duser/spec_DMD_1.00.pdf