SlideShare une entreprise Scribd logo
1  sur  15
Linguagem de programação 4
Daniel de Sena Araújo
Escola Técnica CEPEP
Agenda
• Tipo valor;
• Tipo referência;
• ref;
• out;
• object;
• box;
• unbox.
Tipos valor
• Tipos de dados primitivos;
• No momento da declaração da variável, um
espaço suficiente para armazenar aquele tipo
de dado é alocado na memória;
• No momento da atribuição de valor a variável,
o valor é copiado para esse espaço na
memória.
Tipos referência
• Tipos de classe;
• No momento da declaração de um objeto, o
compilador aloca uma pequena porção da
memória suficiente para armazenar um
endereço de memória;
• No momento da criação do objeto, um espaço
na memória é alocado para ele, e o endereço
desse espaço é gravado na primeira porção de
memória alocada.
Parâmetros ref e out
• Quando você passa um argumento por
parâmetro para um método, independente do
tipo (valor ou referência), o parâmetro é
iniciado com uma cópia do argumento.
Parâmetros ref e out
static void Inc(int p)
{
p++;
}
static void Main()
{
int i = 42;
Inc(i);
Console.WriteLine(i);
}
ref
• Usando a palavra ref como prefixo de um
parâmetro, o parâmetro torna-se uma
referência ao argumento real em vez de uma
cópia do argumento.
Parâmetros ref
static void Inc(ref int p)
{
p++;
}
static void Main()
{
int i = 42;
Inc(ref i);
Console.WriteLine(i);
}
out
• A palavra chave out é uma abreviação de
output (saída). Quando você passa um
parâmetro out para um método, o método
tem que atribuir um valor a ele.
Parâmetros out
static void Inc(ref int p)
{
p++;
}
static void Main()
{
int i = 42;
Inc(ref i);
Console.WriteLine(i);
}
Classe System.Object
• Um dos tipos referência mais importantes do
.NET Framework;
• Todas as classes herdam da System.Object;
• É possível criar uma variável do tipo Object e
usar para referenciar qualquer tipo de objeto;
• Para criar uma variável do tipo System.Object,
podemos utilizar a palavra reservada object.
Box
• Box: Cópia automática de um valor
armazenado na pilha para o heap;
• Exemplo:
int i = 10;
object o = i;
Unbox
• Unbox: Extração do valor armazenado no
heap para a pilha;
• Exemplo:
object o = 10;
int i = (int)o;
• Email:
danieldesenaaraujo@gmail.com
• GitHub:
https://github.com/danieldesenaaraujo
• SlideShare:
http://pt.slideshare.net/danieldesenaaraujo
Fim

Contenu connexe

Tendances

E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11Ismar Silveira
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com PythonJardel Weyrich
 
Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Alex Camargo
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IVGabriel Faustino
 
Laboratório de Programação II: Threads
Laboratório de Programação II: ThreadsLaboratório de Programação II: Threads
Laboratório de Programação II: ThreadsAlex Camargo
 
Revisão sobre ponteiros em C
Revisão sobre ponteiros em CRevisão sobre ponteiros em C
Revisão sobre ponteiros em CPablo Silva
 
5 paradigma funcional usando haskell
5 paradigma funcional usando haskell5 paradigma funcional usando haskell
5 paradigma funcional usando haskellPéricles Miranda
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8Ismar Silveira
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: IntroduçãoWesley R. Bezerra
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 

Tendances (18)

E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Programação C - Aula 2
Programação C - Aula 2Programação C - Aula 2
Programação C - Aula 2
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python
 
Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
 
Laboratório de Programação II: Threads
Laboratório de Programação II: ThreadsLaboratório de Programação II: Threads
Laboratório de Programação II: Threads
 
Revisão sobre ponteiros em C
Revisão sobre ponteiros em CRevisão sobre ponteiros em C
Revisão sobre ponteiros em C
 
5 paradigma funcional usando haskell
5 paradigma funcional usando haskell5 paradigma funcional usando haskell
5 paradigma funcional usando haskell
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 

En vedette

Projeto clássico infantil slides
Projeto clássico infantil slidesProjeto clássico infantil slides
Projeto clássico infantil slidesDeborah Bitinia
 
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...José Augusto
 
Projeto literatura infantil
Projeto literatura infantilProjeto literatura infantil
Projeto literatura infantilShirley Costa
 
10 projeto literatura, conecendo os principais autores
10 projeto literatura, conecendo os principais autores10 projeto literatura, conecendo os principais autores
10 projeto literatura, conecendo os principais autoresjuniorfuleragem
 
Projeto Contos Infantis- Ensino Fundamental
Projeto Contos Infantis- Ensino FundamentalProjeto Contos Infantis- Ensino Fundamental
Projeto Contos Infantis- Ensino FundamentalLuciene Silva
 
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."Tatiane Gomes
 
Projeto de Leitura: Minha Escola Lê
Projeto de Leitura: Minha Escola LêProjeto de Leitura: Minha Escola Lê
Projeto de Leitura: Minha Escola LêCirlei Santos
 
Apresentaçãp projeto de leitura nos anos iniciais
Apresentaçãp projeto de leitura nos anos iniciaisApresentaçãp projeto de leitura nos anos iniciais
Apresentaçãp projeto de leitura nos anos iniciaisleao162010
 
Projeto de Leitura - "Maleta de leitura"
Projeto de Leitura - "Maleta de leitura"Projeto de Leitura - "Maleta de leitura"
Projeto de Leitura - "Maleta de leitura"Cirlei Santos
 

En vedette (11)

Contos de fadas
Contos de fadasContos de fadas
Contos de fadas
 
Projeto clássico infantil slides
Projeto clássico infantil slidesProjeto clássico infantil slides
Projeto clássico infantil slides
 
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
 
Projeto Leitura- conto de fadas
Projeto Leitura- conto de fadasProjeto Leitura- conto de fadas
Projeto Leitura- conto de fadas
 
Projeto literatura infantil
Projeto literatura infantilProjeto literatura infantil
Projeto literatura infantil
 
10 projeto literatura, conecendo os principais autores
10 projeto literatura, conecendo os principais autores10 projeto literatura, conecendo os principais autores
10 projeto literatura, conecendo os principais autores
 
Projeto Contos Infantis- Ensino Fundamental
Projeto Contos Infantis- Ensino FundamentalProjeto Contos Infantis- Ensino Fundamental
Projeto Contos Infantis- Ensino Fundamental
 
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
 
Projeto de Leitura: Minha Escola Lê
Projeto de Leitura: Minha Escola LêProjeto de Leitura: Minha Escola Lê
Projeto de Leitura: Minha Escola Lê
 
Apresentaçãp projeto de leitura nos anos iniciais
Apresentaçãp projeto de leitura nos anos iniciaisApresentaçãp projeto de leitura nos anos iniciais
Apresentaçãp projeto de leitura nos anos iniciais
 
Projeto de Leitura - "Maleta de leitura"
Projeto de Leitura - "Maleta de leitura"Projeto de Leitura - "Maleta de leitura"
Projeto de Leitura - "Maleta de leitura"
 

Similaire à Tipos valor e referência em C

Similaire à Tipos valor e referência em C (20)

Ed1
Ed1Ed1
Ed1
 
Ponteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaPonteiros e Alocação Dinâmica
Ponteiros e Alocação Dinâmica
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).ppt
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Introdução ao Java 5
Introdução ao Java 5Introdução ao Java 5
Introdução ao Java 5
 
Aula 6 pc - slides
Aula 6   pc - slidesAula 6   pc - slides
Aula 6 pc - slides
 
Ud3
Ud3Ud3
Ud3
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Aula02
Aula02Aula02
Aula02
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Aula 7 pc - estrutura
Aula 7   pc - estruturaAula 7   pc - estrutura
Aula 7 pc - estrutura
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Automacao com Python.pdf
Automacao com Python.pdfAutomacao com Python.pdf
Automacao com Python.pdf
 

Plus de Daniel Araújo

Enumerações e estruturas
Enumerações e estruturasEnumerações e estruturas
Enumerações e estruturasDaniel Araújo
 
Instruções de iteração e atribuição composta
Instruções de iteração e atribuição compostaInstruções de iteração e atribuição composta
Instruções de iteração e atribuição compostaDaniel Araújo
 
Instruções de decisão
Instruções de decisãoInstruções de decisão
Instruções de decisãoDaniel Araújo
 
Curso C# - Métodos e escopo
Curso C# - Métodos e escopoCurso C# - Métodos e escopo
Curso C# - Métodos e escopoDaniel Araújo
 
Curso de C# - Variáveis, operadores e expressões
Curso de C# - Variáveis, operadores e expressõesCurso de C# - Variáveis, operadores e expressões
Curso de C# - Variáveis, operadores e expressõesDaniel Araújo
 
Curso de C# - Introdução
Curso de C# - IntroduçãoCurso de C# - Introdução
Curso de C# - IntroduçãoDaniel Araújo
 

Plus de Daniel Araújo (8)

Enumerações e estruturas
Enumerações e estruturasEnumerações e estruturas
Enumerações e estruturas
 
Classes e objetos
Classes e objetosClasses e objetos
Classes e objetos
 
Erros e exceções
Erros e exceçõesErros e exceções
Erros e exceções
 
Instruções de iteração e atribuição composta
Instruções de iteração e atribuição compostaInstruções de iteração e atribuição composta
Instruções de iteração e atribuição composta
 
Instruções de decisão
Instruções de decisãoInstruções de decisão
Instruções de decisão
 
Curso C# - Métodos e escopo
Curso C# - Métodos e escopoCurso C# - Métodos e escopo
Curso C# - Métodos e escopo
 
Curso de C# - Variáveis, operadores e expressões
Curso de C# - Variáveis, operadores e expressõesCurso de C# - Variáveis, operadores e expressões
Curso de C# - Variáveis, operadores e expressões
 
Curso de C# - Introdução
Curso de C# - IntroduçãoCurso de C# - Introdução
Curso de C# - Introdução
 

Dernier

Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 

Dernier (20)

Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 

Tipos valor e referência em C

  • 1. Linguagem de programação 4 Daniel de Sena Araújo Escola Técnica CEPEP
  • 2. Agenda • Tipo valor; • Tipo referência; • ref; • out; • object; • box; • unbox.
  • 3. Tipos valor • Tipos de dados primitivos; • No momento da declaração da variável, um espaço suficiente para armazenar aquele tipo de dado é alocado na memória; • No momento da atribuição de valor a variável, o valor é copiado para esse espaço na memória.
  • 4. Tipos referência • Tipos de classe; • No momento da declaração de um objeto, o compilador aloca uma pequena porção da memória suficiente para armazenar um endereço de memória; • No momento da criação do objeto, um espaço na memória é alocado para ele, e o endereço desse espaço é gravado na primeira porção de memória alocada.
  • 5. Parâmetros ref e out • Quando você passa um argumento por parâmetro para um método, independente do tipo (valor ou referência), o parâmetro é iniciado com uma cópia do argumento.
  • 6. Parâmetros ref e out static void Inc(int p) { p++; } static void Main() { int i = 42; Inc(i); Console.WriteLine(i); }
  • 7. ref • Usando a palavra ref como prefixo de um parâmetro, o parâmetro torna-se uma referência ao argumento real em vez de uma cópia do argumento.
  • 8. Parâmetros ref static void Inc(ref int p) { p++; } static void Main() { int i = 42; Inc(ref i); Console.WriteLine(i); }
  • 9. out • A palavra chave out é uma abreviação de output (saída). Quando você passa um parâmetro out para um método, o método tem que atribuir um valor a ele.
  • 10. Parâmetros out static void Inc(ref int p) { p++; } static void Main() { int i = 42; Inc(ref i); Console.WriteLine(i); }
  • 11. Classe System.Object • Um dos tipos referência mais importantes do .NET Framework; • Todas as classes herdam da System.Object; • É possível criar uma variável do tipo Object e usar para referenciar qualquer tipo de objeto; • Para criar uma variável do tipo System.Object, podemos utilizar a palavra reservada object.
  • 12. Box • Box: Cópia automática de um valor armazenado na pilha para o heap; • Exemplo: int i = 10; object o = i;
  • 13. Unbox • Unbox: Extração do valor armazenado no heap para a pilha; • Exemplo: object o = 10; int i = (int)o;
  • 15. Fim