Quantcast
PplWare Mobile

Autor: Henrique Dias

Vamos Programar? – Introdução à Programação #21

Ler e imprimir strings.

O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Dentro das palavras que mais ouvimos atualmente, incluímos “evolução”, “mudança”, “futuro”.

A tecnologia tem revolucionado o mundo das mais diversas formas: do mais simples aparelho para medir o tempo ao mais complexo acelerador de partículas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui.

intrprog21


Vamos Programar? – Introdução à Programação #20

Strings: declaração e inicialização

O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Dentro das palavras que mais ouvimos atualmente, incluímos “evolução”, “mudança”, “futuro”.

A tecnologia tem revolucionado o mundo das mais diversas formas: do mais simples aparelho para medir o tempo ao mais complexo acelerador de partículas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui.

Vamos Programar? – Introdução à Programação #20


Vamos Programar? – Introdução à Programação #19

Apontadores: incremento, decremento e comparação

O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Dentro das palavras que mais ouvimos atualmente, incluímos “evolução”, “mudança”, “futuro”.

A tecnologia tem revolucionado o mundo das mais diversas formas: do mais simples aparelho para medir o tempo ao mais complexo acelerador de partículas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui.

Vamos Programar? – Introdução à Programação #19


Vamos Programar? – Introdução à Programação #18

Declaração e inicialização de Apontadores

O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Dentro das palavras que mais ouvimos atualmente, incluímos “evolução”, “mudança”, “futuro”.

A tecnologia tem revolucionado o mundo das mais diversas formas: do mais simples aparelho para medir o tempo ao mais complexo acelerador de partículas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui.

Vamos Programar? – Introdução à Programação #18


Vamos Programar? – Introdução à Programação #17

Apontadores: endereçamento

O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Dentro das palavras que mais ouvimos atualmente, incluímos “evolução”, “mudança”, “futuro”.

A tecnologia tem revolucionado o mundo das mais diversas formas: do mais simples aparelho para medir o tempo ao mais complexo acelerador de partículas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui.

 Criado por Henrique Dias em 21 de Dezembro de 2014 | Categoria: Programação, Tutoriais | 0 comentários (Editar) Apontadores: endereçamento O mundo está constantemente a evoluir: desde o mais pequeno inseto à espécie Humana. Dentro das palavras que mais ouvimos atualmente, incluímos “evolução”, “mudança”, “futuro”. A tecnologia tem revolucionado o mundo das mais diversas formas: do mais simples aparelho para medir o tempo ao mais complexo acelerador de partículas. Se quer entrar no mundo da tecnologia e deixar a sua marca, pode começar aqui. Visualize este vídeo no YouTube Apontadores Na semana passada, começámos a abordar o tema “Apontadores”. Esta semana, iremos continuar a abordar esse mesmo tema que é muito útil. Tamanho e endereço de variáveis Primeiramente, devo recordar que todos os tipos de dados ocupam um espaço diferente na memória RAM. Para saber quantas bytes ocupam um determinado tipo, deve-se recorrer à função sizeof cujo único argumento é a variável em questão. Ou seja, para se saber quantas bytes ocupa o tipo int, devemos passar como argumento à função sizeof uma variável desse tipo. No seguinte exemplo é imprimido o tamanho de espaço que ocupam quatro tipos de dados e ainda o endereço da memória a que corresponde cada variável. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <stdio.h> #include <stdlib.h> int main() { char caractere; int inteiro; float Float; double Double; printf("Tipo\tNum de Bytes\tEndereço\n"); printf("-------------------------------------\n"); printf("Char\t%d byte \t\t%p\n", sizeof(caractere), &caractere); printf("Inteiro\t%d bytes \t%p\n", sizeof(inteiro), &inteiro); printf("Float\t%d bytes \t%p\n", sizeof(Float), &Float); printf("Double\t%d bytes \t%p\n", sizeof(Double), &Double); return 0; } O resultado da execução do código acima deverá ser algo semelhante ao seguinte: 1 2 3 4 5 6 Tipo Num de Bytes Endereço ------------------------------------- Char 1 byte 0028FF1F Inteiro 4 bytes 0028FF18 Float 4 bytes 0028FF14 Double 8 bytes 0028FF08 Como pode verificar, todos os tipos de dados exceto char ocupam mais do que um byte na memória RAM. Então, o endereço que é imprimido corresponde apenas ao primeiro byte ocupado pela variável. Hexadecimal para Decimal Antes de continuarmos, será útil abordar como se convertem números hexadecimais para decimais. Primeiramente, como já deve ter reparado, os números hexadecimais contam com letras, além de números. Isto acontece porque a numeração hexadecimal tem como base 16 números enquanto que a decimal tem como base 10 números. Veja então o número que corresponde a cada letra da numeração hexadecimal na tabela seguinte: Hexadecimal Decimal Hexadecimal Decimal 0 0 8 8 1 1 9 9 2 2 A 10 3 3 B 11 4 4 C 12 5 5 D 13 6 6 E 14 7 7 F 15 Iremos converter o número hexadecimal 0028FF1F para decimal. Em primeiro lugar, iremos tirar os primeiros dois zeros que são, neste caso, desprezíveis. De seguida precisamos conhecer o significado de cada dígito hexadecimal em número decimal que está presente nesse número. Em decimal, os números 2, 8, F e 1 são, respetivamente, 2, 8, 15 e 1. Para efetuar a conversão, temos que multiplicar cada um desses números por uma potência de base 16 cujo expoente é igual à posição de cada um dos números (da direita para a esquerda). Então, temos: 1 2 3 (2*16^5)+(8*16^4)+(15*16^3)+(15*16^2)+(1*16^1)+(15*16^0) = = 2097152+524288+61440+3840+16+15 = = 2686751 Voltando aos endereços das variáveis e convertendo-os para números decimais, obtemos os seguintes valores: 1 2 3 4 5 6 Tipo Num de Bytes Endereço ------------------------------------- Char 1 byte 2686751 Inteiro 4 bytes 2686744 Float 4 bytes 2686740 Double 8 bytes 2686728 Podemos concluir dos dados acima que a variável que declarámos do tipo char, no meu computador, ocupa a posição 2686751 enquanto que as outras ocupam mais do que uma. Relembrando que as bytes alocadas para variáveis que ocupam mais do que uma encontram-se localizadas lado a lado, de seguida e que o endereço que obtemos corresponde ao da primeira byte, a variável do tipo inteiro que declarámos ocupa as bytes cujos endereços (em número decimal) são 2686744, 2686745, 2686746 e 2686747. Estas informação serão muito úteis para os próximos artigos. Fique atento. Esta semana não iremos recomendar exercícios pois o conteúdo de hoje não é suficiente para novos exercícios. Porém, continue a praticar! Na próxima semana iremos continuar o tema dos apontadores. Mais uma vez, gostávamos de saber a sua opinião. Caso tenha alguma dúvida, pode sempre utilizar os comentários para colocar a questão. Caso o faça, pedimos que utilize a keyword [DUVIDA] no início do seu comentários. Esta saga COXPE – Code Experts Mais episódios: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13][12] [14] [15] [16] homefacebookgoogle-plus Destaques Pplware Aprenda a instalar a plataforma de monitorização Cacti Aprenda a instalar a plataforma de monitorização Cacti Transforme o seu CentOS num servidor Web (LAMP) Transforme o seu CentOS num servidor Web (LAMP) Vamos começar a programar em Python? (Parte I) Vamos começar a programar em Python? (Parte I) Vamos começar a programar em Python? (Parte VI) Vamos começar a programar em Python? (Parte VI) Tutorial I – Programar para Android com o Android Studio Tutorial I – Programar para Android com o Android Studio Codecademy: Aprenda a programar sem dificuldade! Codecademy: Aprenda a programar sem dificuldade! Editar esta página Deixe o seu comentário Logged in as Henrique Dias. Log out » É subscritor desta entrada. Administre a subscrição. Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste site reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos. VÍDEOS PPLWARE GoTelecom EmpresasHoje Pack PiPplware PARCEIROS KuantoKusta Kaspersky OnBit RollingSpace PTisp Lunacloud - Cloud Server e Cloud Storage PointCaramel Siga o Pplware no Pinterest Linkedin Twitter RSS Instagram Newsletter Pplware Projecto Colibri Aztech Ciberconceito KeroDownload PPLWARE MOBILE RSS EMPRESAS HOJE 5 Motivos para Integrar as Redes Sociais com o seu Contact Center Chthonic – A nova ameaça digital da banca online 5 dicas para escolher o melhor serviço de Internet, TV e Voz Videoconferência – o novo melhor amigo das empresas Cada português vai comprar em média 11 presentes este Natal ARQUIVOS 2014 Dezembro Novembro Outubro Setembro Agosto Julho Junho Maio Abril Março Fevereiro Janeiro 2013 2012 2011 2010 2009 2008 2007 2006 2005 CATEGORIAS expandApple Comunicações Drivers expandFirefox expandGadgets expandGeneralidades Google/YouTube Hardware/Modding High Tech Humor expandInformação expandInternet – Serviços Web expandJogos expandLinux expandMultimédia O Mundo é Mobile Redes Sociais expandSapo expandSmartphones/Tablets Truques & Dicas collapseTutoriais Asp.Net CSharp Excel Gimp Java Latex LibreOffice Magalhães expandNetworking PayPal Photoshop PHP collapseProgramação Scripts Soundforge Visual Basic Windows 7 Windows 8 Windows Server Windows Vista Windows XP Word Usados Pplware expandWindows RSS ÚLTIMAS DO FÓRUM : Windows 7/Games CS GO package loss Captive Portal O Máximo Desconto, A Maior Surpresa ordem erada de bots diminui a memória do hd ? Software Assistência-Que linguagem utilizar? Olá Mann Zug3 Smartphone bet365 Jogos para jogar com a namorada Contacto | Sobre nós | Regras | Sondagens | RSS |RSS Comentários © Copyright Pplware.com 2005-2014. Todos os direitos reservados. E-MAIL MARKETING CERTIFIED BY: E-Goi Skip to toolbar Pplware 14 New Edit Post Howdy, Henrique Dias Log Out