RESUMO DA AULA, CRIBS
Информатика и информационные технологии. Ссылочный тип данных. Динамическая память. Динамические переменные. Работа с динамической памятью (самое важное) Diretório / Notas de aula, folhas de dicas Índice (expandir) 16. Tipo de dados de referência. memória dinâmica. variáveis dinâmicas. Trabalhando com memória dinâmica Uma variável estática (alocada estaticamente) é uma variável declarada explicitamente no programa, é referida pelo nome. O lugar na memória para colocar variáveis estáticas é determinado quando o programa é compilado. Ao contrário dessas variáveis estáticas, os programas Pascal podem criar variáveis dinâmicas. A principal propriedade das variáveis dinâmicas é que elas são criadas e a memória é alocada para elas durante a execução do programa. As variáveis dinâmicas são colocadas em uma área de memória dinâmica (área de heap). Uma variável dinâmica não é especificada explicitamente nas declarações de variáveis e não pode ser referenciada pelo nome. Tais variáveis são acessadas usando ponteiros e referências. Um tipo de referência (ponteiro) define um conjunto de valores que apontam para variáveis dinâmicas de um determinado tipo, chamado de tipo base. Uma variável de tipo de referência contém o endereço de uma variável dinâmica na memória. Se o tipo base for um identificador não declarado, ele deverá ser declarado na mesma parte da declaração de tipo que o tipo de ponteiro. A palavra reservada nil denota uma constante com um valor de ponteiro que não aponta para nada. Vamos dar um exemplo da descrição de variáveis dinâmicas. var p1, p2: ^real; p3, p4: ^ inteiro; ... Procedimentos e Funções de Memória Dinâmica 1. Procedimento Novo{var p: Ponteiro). Aloca espaço na área de memória dinâmica para acomodar a variável dinâmica p", e atribui seu endereço ao ponteiro p. 2. Procedimento Descarte(var p: Ponteiro). Libera a memória alocada para alocação de variável dinâmica pelo procedimento New, e o valor do ponteiro p fica indefinido. 3. Procedimento GetMem(var p: Ponteiro; tamanho: Word). Aloca uma seção de memória na área de heap, atribui o endereço de seu início ao ponteiro p, o tamanho da seção em bytes é especificado pelo parâmetro size. 4. Procedimento FreeMem(varp: Ponteiro; tamanho: Word). Libera a área de memória, cujo endereço inicial é especificado pelo ponteiro p e o tamanho é especificado pelo parâmetro size. O valor do ponteiro p torna-se indefinido. 5. O procedimento Mark{var p: Pointer) escreve no ponteiro p o endereço do início da seção de memória dinâmica livre no momento de sua chamada. 6. O procedimento Release(var p: Pointer) libera uma seção da memória dinâmica, a partir do endereço escrito no ponteiro p pelo procedimento Mark, ou seja, limpa a memória dinâmica que estava ocupada após a chamada ao procedimento Mark. 7. Função MaxAvail: Longint retorna o comprimento em bytes da maior seção livre de memória dinâmica. 8. Função MemAvail: Longint retorna a quantidade total de memória dinâmica livre em bytes. 9. A função auxiliar SizeOf(X):Word retorna o tamanho em bytes ocupado por X, onde X pode ser um nome de variável de qualquer tipo ou um nome de tipo. Autor: Tsvetkova A.V. << Voltar: Módulos. Tipos de módulos >> Encaminhar: Estruturas de dados abstratas Recomendamos artigos interessantes seção Notas de aula, folhas de dicas: ▪ Lei de imposto. Notas de aula ▪ Fundamentos de gestão. Berço ▪ História do estado e direito da Rússia download. Berço Veja outros artigos seção Notas de aula, folhas de dicas. Leia e escreva útil comentários sobre este artigo. Últimas notícias de ciência e tecnologia, nova eletrônica: A existência de uma regra de entropia para o emaranhamento quântico foi comprovada
09.05.2024 Mini ar condicionado Sony Reon Pocket 5
09.05.2024 Energia do espaço para Starship
08.05.2024
Outras notícias interessantes: ▪ Gerador híbrido economiza até 93% de energia ▪ Projetor portátil Philips GoPix 1 bolso ▪ Navegador social para ciclistas Feed de notícias de ciência e tecnologia, nova eletrônica
Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção do site Oficina em casa. Seleção de artigos ▪ Artigo de Volyapyuk. expressão popular ▪ artigo Weaver. Instrução padrão sobre proteção do trabalho ▪ artigo Antena W3DZZ Dipolo tri-band. Enciclopédia de rádio eletrônica e engenharia elétrica ▪ artigo Conversor de impulso de pulso para EL. Enciclopédia de rádio eletrônica e engenharia elétrica
Deixe seu comentário neste artigo: Todos os idiomas desta página Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site www.diagrama.com.ua |