photo
+ Responder ao Tópico
Resultados de 1 a 1 de 1

Thread: Inicialização de Variáveis

  1. #1 Fechar a publicação
    Senior Member jssuser's Avatar jssuser's Avatar
    Data de afiliação
    Aug 2018
    Postagens
    1,503
    Obrigado
    209
    Agradecimentos 1,579 Tempos em 856 Postagens
    AssinarAssinar
    subscritar: 0

    Inicialização de Variáveis

    Qualquer variável pode ser inicializada durante a definição. Se uma variável não é inicializada explicitamente, o valor armazenado nesta variável pode ser qualquer coisa. Inicialização implícita não é usada.

    Variáveis globais e estáticas podem ser inicializadas uma vez por uma constante do tipo correspondente ou uma expressão constante. Variáveis locais podem ser inicializados por qualquer expressão, não apenas por uma constante.

    A inicialização de variáveis globais e estáticas é realizada apenas uma vez. A inicialização de variáveis locais é feita toda a vez que se chama as funções correspondentes.

    Exemplos:

    int n = 1;
    string s = "Olá";
    double f[] = { 0.0, 0.236, 0.382, 0.5, 0.618, 1.0 };
    int a[4][4] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4 } };
    //--- de tetris
    int right[4]={WIDTH_IN_PIXELS+VERT_BORDER,WIDTH_IN_PIXELS+VERT _BORDER,
    WIDTH_IN_PIXELS+VERT_BORDER,WIDTH_IN_PIXELS+VERT_B ORDER};
    //--- inicialização de todos os campos da estrutura com valores zero
    MqlTradeRequest request={0};

    A lista de valores dos elementos de um array devem estar entre chaves. Seqüências de inicializações faltantes são consideradas iguais a 0. A seqüência de inicialização deve ter ao menos um valor: este valor é inicializado para o primeiro elemento da estrutura correspondente ou array, elementos faltantes são considerados iguais a zero.

    Se o tamanho do array inicializado não é especificado, ele é determinado pelo compilador, baseado no tamanho da seqüência de inicialização. Arrays multi-dimensionais não podem ser inicializados por uma seqüência unidimensional (uma seqüência sem chaves adicionais), exceto para o caso quando apenas um elemento inicializante é especificado (zero, como regra).

    Arrays (incluindo aqueles declarados no nível local) podem ser inicializados apenas por constantes.

    Exemplos:

    struct str3
    {
    int low_part;
    int high_part;
    };
    struct str10
    {
    str3 s3;
    double d1[10];
    int i3;
    };
    void OnStart()
    {
    str10 s10_1={{1,0},{1.0,2.1,3.2,4.4,5.3,6.1,7.8,8.7,9.2, 10.0},100};
    str10 s10_2={{1,0},{0},100};
    str10 s10_3={{1,0},{1.0}};
    //---
    Print("1. s10_1.d1[5] = ",s10_1.d1[5]);
    Print("2. s10_2.d1[5] = ",s10_2.d1[5]);
    Print("3. s10_3.d1[5] = ",s10_3.d1[5]);
    Print("4. s10_3.d1[0] = ",s10_3.d1[0]);
    }


    Para variável de tipo estrutura, inicialização parcial é permitida, bem como para arrays estáticos. Pode-se inicializar um ou mais primeiros elementos de uma estrutura ou array, os demais elementos serão inicializados com zeros neste caso.

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


  2. The Following User Says Thank You to jssuser For This Useful Post:

    Não registrado (1 )

+ Responder ao Tópico

Permissões de postagens

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts