






















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Aprenda sobre a memória ram do computador, como é dividida em bytes, e como as variáveis são alocadas e armazenadas na memória. Saiba também sobre ponteiros, que são variáveis que armazenam endereços de outras variáveis, e como eles podem ser utilizados para manipular o conteúdo de outras variáveis. Este documento também aborda a passagem de parâmetros por referência em funções.
Tipologia: Resumos
1 / 30
Esta página não é visível na pré-visualização
Não perca as partes importantes!























A1h A2h A3h A4h A5h A6h A7h A8h A9h AAh A memória do computador é dividida em bytes. Cada pedaço laranja representa 1 byte. Portanto, neste trecho de memória, pego como exemplo, nós temos 10 bytes byte 1 byte 4 byte 2 Byte 3 byte 5 byte 6 byte 7 byte 8 byte 9 byte 10
Variáveis do tipo char, que arma- zenam caracteres, ocupam 1 byte
Variáveis do tipo char, que arma- zenam caracteres, ocupam 1 byte
Variáveis do tipo int, que armaze- nam números inteiros, ocupam 2 bytes
Variáveis do tipo int, que armaze- nam números inteiros, ocupam 2 bytes
Variáveis do tipo float, que armaze- nam números com vírgulas (de ponto flutuante), ocupam 4 bytes
Variáveis do tipo float, que armaze- nam números com vírgulas (de ponto flutuante), ocupam 4 bytes
Como cada char ocupa 1 byte, os vetores de caracteres (strings) ocupam tantos bytes quantos forem seus elementos (neste caso são 3 )
Trecho de memória A1h A2h A3h A4h A5h A6h A7h A8h A9h AAh
para a variável c (char). c = ‘A’; ‘A’ Note que o endereço da variável c, neste caso, é A1h. A1h
Se você mandar imprimir uma variável do tipo ponteiro, ela vai mostrar o endereço armazenado nela: char c = ‘A’; // coloca o valor ‘A’ na variável c char* ponteiro = &c; // coloca o endereço da variável c no ponteiro printf(“%p”, ponteiro); // imprime o conteúdo do ponteiro, que é o endereço da variável c Trecho de memória A1h A2h A3h A4h A5h ‘A’ Variável c (contendo o valor ‘A’) A1h (^) Variável ponteiro (contendo o endereço A1h)
int main(){ int a = 5; int ptr; ptr = &a; //conteúdo da variável a printf(“%d”,ptr); //endereço da variável a printf(“%p”,ptr); //endereçodo ponteiro printf(“%p”,&ptr); return 0 ; } Imprime o valor 5
*int main(){ int a; int ptr; ptr = &a; //inicializando o ponteiro ptr = 5; printf(“Endereco da variavel = %p”,&a); printf(“Valor p/ onde ponteiro aponta = %d”,ptr); printf(“Endereco p/ onde ponteiro aponta = %p”, ptr); printf(“Endereco do ponteiro = %p”,&ptr); return 0 ; }