Lar Finanças Pessoais Como verificar a localização de uma variável na programação C - dummies

Como verificar a localização de uma variável na programação C - dummies

Vídeo: Programar em C - Manipulação de Arquivos txt em C / Escrever Dados - Aula 81 2025

Vídeo: Programar em C - Manipulação de Arquivos txt em C / Escrever Dados - Aula 81 2025
Anonim

Na programação C, o tipo e o tamanho de uma variável são descobertos primeiro, declarando essa variável como um tipo específico, mas também usando a palavra-chave sizeof. A segunda descrição de uma variável, seu conteúdo, pode ser obtida através da leitura do valor da variável usando a função de linguagem C apropriada.

A terceira descrição de uma variável é a sua localização na memória. Você coleciona essa informação usando o operador & eo marcador de posição% p, conforme mostrado em O Variable, por que você é Art Thou?

O VARIABLE, WHEREFORE ART THOU?

#include int main () {char c = 'c'; int i = 123; flutuação f = 98. 6; duplo d = 6. 022E23; printf ("Endereço de 'c'% pn", & c); printf ("Endereço de 'i'% pn", & i); printf ("Endereço de 'f'% pn", & f); printf ("Endereço de 'd'% pn", & d); return (0);}

Quando o operador prefixa uma variável, ele retorna um valor que representa o endereço da variável, ou a sua localização na memória. Esse valor é expresso em hexadecimal. Para ver esse valor, o caractere de conversão% p é usado, como mostrado em O Variable, por que Art Thou?

Exercício 1 : Digite o código fonte de O Variable, por que você é Art Thou? no seu editor. Construa e execute.

Os resultados produzidos pelo programa gerado a partir do Exercício 1 são únicos, não apenas para cada computador, mas também, potencialmente, para cada vez que o programa é executado.

Endereço de 'c' 0x7fff5fbff8ff Endereço de 'i' 0x7fff5fbff8f8 Endereço de 'f' 0x7fff5fbff8f4 Endereço de 'd' 0x7fff5fbff8e8

Variável c é armazenado na memória na localização 0x7fff5fbff8ff - é a localização decimal 140, 734, 799, 804, 671. Ambos os valores são triviais, é claro; o computador faz um registro dos locais de memória, o que está muito bem por mim.

Esta ilustração mostra como esses endereços mapeiam na memória.

Os elementos de matriz individuais também possuem locais de memória, como mostrado em Localizações de memória em uma matriz na linha 10. O operador e prefixa a variável de elemento específico, tossindo um endereço. O caractere de conversão% p na função printf () exibe o endereço.

LOCAÇÕES DE MEMÓRIA EM UM ARRIL

#include int main () {char hello [] = "Hello!"; int i = 0; enquanto (hello [i]) {printf ("% c at% pn", olá [i], & hello [i]); i ++;} return (0);}

Exercício 2 : Crie um novo projeto usando o código-fonte mostrado em Locais de memória em uma matriz. Construa e execute.

Novamente, a saída da localização da memória é única em cada computador.

H a 0x7fff5fbff8f0 e a 0x7fff5fbff8f1 l a 0x7fff5fbff8f2 l a 0x7fff5fbff8f3 o a 0x7fff5fbff8f4!em 0x7fff5fbff8f5

Ao contrário do exemplo do Exercício 1, os endereços gerados pelo Exercício 2 são contíguos na memória, um byte após o outro.

Exercício 3 : Codifique um programa para exibir cinco valores em uma matriz int juntamente com o endereço de memória de cada elemento. Você pode usar Localizações de memória em uma matriz para inspirar você, embora um loop for possa ser mais fácil de codificar.

  • Por sinal, o operador de localização da memória e você deve estar familiarizado com você. É usado pela função scanf (), que requer o endereço de uma variável, e não a própria variável. Isso porque scanf () coloca um valor em um local de memória diretamente. Como? Ao usar ponteiros, é claro!

  • O operador & também é o operador AND bit a bit; no entanto, o compilador é inteligente o suficiente para dizer quando e prefixa uma variável e quando é e faz parte de uma equação matemática binária.

Como verificar a localização de uma variável na programação C - dummies

Escolha dos editores

Noções básicas do arquivo de dados Flashback da Oracle 12c - dummies

Noções básicas do arquivo de dados Flashback da Oracle 12c - dummies

O Flashback Data Archive do oracle 12c é um mecanismo de banco de dados que permite que você para armazenar periodicamente ou indefinidamente todas as versões de linha em uma tabela ao longo da sua vida útil. Você pode então escolher uma hora para ver os dados como existia em um ponto específico. Esteja ciente de que o Flashback Data Archive é um recurso licenciado. ...

Noções básicas de clusters de aplicativos reais do Oracle 12c - manequins

Noções básicas de clusters de aplicativos reais do Oracle 12c - manequins

Se você visitou os sites da Oracle nos últimos 12 anos , você viu o byline de marketing: "Inquebrável. "Essa linha de tag refere-se ao recurso Real Application Clusters (RAC). Claro, muitos elementos estão envolvidos, mas o RAC tem o destaque. O RAC é a solução de clustering de banco de dados Oracle. Em certo sentido, funciona na teoria de que ...

Noções básicas de Redo Log Files no Oracle 12c - dummies

Noções básicas de Redo Log Files no Oracle 12c - dummies

Redo os arquivos de log armazenam as informações do buffer de log no banco de dados Oracle 12c. Eles são escritos pelo Log Writer (LGWR). Mais uma vez, você não pode ler esses arquivos binários sem a ajuda do software de banco de dados. Normalmente, os arquivos de reto de log são nomeados com a extensão. LOG ou. RDO. Pode ser qualquer coisa que você queira, ...

Escolha dos editores

São orgasmos ok durante a gravidez? - Dummies

São orgasmos ok durante a gravidez? - Dummies

As mulheres grávidas não só têm permissão para fazer sexo, mas muitas vezes o desejam. Mas é bom aproveitar a relação sexual com o ponto do orgasmo? Afinal, os orgasmos são nada mais do que contrações - e as pessoas sugeriram que isso poderia desencadear mão-de-obra. Isso é apenas um mito. De fato, grávida ...

Alimentando a Multidão em uma Reunião Familiar - manequins

Alimentando a Multidão em uma Reunião Familiar - manequins

Cozinhando uma refeição para um grande grupo (reunião familiar ou de outra forma ) requer planejamento e resistência. Aqui está um guia útil para quantidades de alimentos e segurança alimentar, e conselhos sobre a organização de uma festa de potluck. Planejando para potlucks A forma mais comum de comestibles de grupo é uma festa de potluck - qual é a maneira mais barata e fácil de ...

Anatomia do Penis humano - dummies

Anatomia do Penis humano - dummies

Sabendo como as funções de um pénis podem fornecer uma visão útil do sexo e do corpo humano - se você quer entender o pénis e a anatomia masculina melhor ou aprender sobre isso pela primeira vez. Basicamente, um pênis é composto de três estruturas, que são feitas de um material esponjoso que pode preencher com sangue: ...

Escolha dos editores

Como lidar com outliers causados ​​por Forças externas - manequins

Como lidar com outliers causados ​​por Forças externas - manequins

Certifique-se de verificar atentamente os outliers antes eles influenciam sua análise preditiva. Os outliers podem distorcer a análise de dados e dados. Por exemplo, qualquer análise estatística feita com dados que deixa outliers no lugar acaba por desviar os meios e variâncias. Os outliers não controlados ou mal interpretados podem levar a conclusões falsas. Diga os seus dados que ...

Como criar um modelo de análise preditiva com regressão R - manequins

Como criar um modelo de análise preditiva com regressão R - manequins

Você deseja criar um preditivo modelo de análise que você pode avaliar usando resultados conhecidos. Para fazer isso, vamos dividir nosso conjunto de dados em dois conjuntos: um para treinar o modelo e outro para testar o modelo. Uma divisão 70/30 entre treinamento e testes de conjuntos de dados será suficiente. As próximas duas linhas de código ...

Como definir objetivos de negócios para um modelo de análise preditiva - dummies

Como definir objetivos de negócios para um modelo de análise preditiva - dummies

Um modelo de análise preditiva visa resolvendo um problema comercial ou realizando um resultado comercial desejado. Esses objetivos comerciais se tornam os objetivos do modelo. Conhecer aqueles garante o valor comercial do modelo que você constrói - o que não deve ser confundido com a precisão do modelo. Hipotéticamente, você pode construir um modelo preciso para ...