Denis Bittencourt Muniz Postado Fevereiro 11, 2006 Denunciar Share Postado Fevereiro 11, 2006 Fala galera!No C#, existe uma palavra chave chamada 'stackalloc' que que aloca um bloco de memória.A dúvida:int* memory = stackalloc int[30]; Na expressão acima, o que siginifica aquele '30'?Falows! Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 12, 2006 Denunciar Share Postado Fevereiro 12, 2006 A quantidade de inteiros que você quer alocar na stack.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Fevereiro 12, 2006 Autor Denunciar Share Postado Fevereiro 12, 2006 Como assim? Desculpe, mas não entendi.Falows!P.S: O que é 'stack'? E como assim quantidade? Não posso alocar quantos quiser? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 12, 2006 Denunciar Share Postado Fevereiro 12, 2006 Como assim? Desculpe, mas não entendi.Falows!P.S: O que é 'stack'? E como assim quantidade? Não posso alocar quantos quiser? Quando um programa está em execução existem dois tipos de memória onde os dados podem ser armazenados, a saber: stack e heap. A stack é onde variáveis locais (de funções e métodos) e parâmetros de funções são armazenados e todo o resto é armazenado na heap. Quando se cria um objeto, ele em si é armazenado na heap e sua referência é armazenada na stack. Com a utilização de stackalloc você estará armazenando os valores diretamente na stack (e não na heap). E o acesso à stack é um pouco mais rápido do que à heap.Certo? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Fevereiro 12, 2006 Autor Denunciar Share Postado Fevereiro 12, 2006 OK! valeu! Entendi o conceito de 'heap' e 'stack'. Mas o que seria o número? Eu posso fazer isso, por exemplo: int* x = &memory[31]. Ok, mas o índice não é 30? Falows! Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 12, 2006 Denunciar Share Postado Fevereiro 12, 2006 OK! valeu! Entendi o conceito de 'heap' e 'stack'. Mas o que seria o número? Eu posso fazer isso, por exemplo: int* x = &memory[31]. Ok, mas o índice não é 30? Falows! Não, ali não é o índice. É a quantidade de inteiros que você quer alocar na stack. E ali entra um ponteiro justamente porque isso é um vetor (array).Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Denis Bittencourt Muniz
Fala galera!
No C#, existe uma palavra chave chamada 'stackalloc' que que aloca um bloco de memória.
A dúvida:
Na expressão acima, o que siginifica aquele '30'?
Falows!
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados