14.03.2015 Views

Apostila C da UFMG - Universidade do Minho

Apostila C da UFMG - Universidade do Minho

Apostila C da UFMG - Universidade do Minho

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

No C podemos declarar ponteiros para ponteiros para ponteiros, ou então, ponteiros para ponteiros para ponteiros para<br />

ponteiros (UFA!) e assim por diante. Para fazer isto (não me pergunte a utili<strong>da</strong>de disto!) basta aumentar o número de<br />

asteriscos na declaracão. A lógica é a mesma.<br />

6.6 - Cui<strong>da</strong><strong>do</strong>s a Serem Toma<strong>do</strong>s ao se Usar Ponteiros<br />

O principal cui<strong>da</strong><strong>do</strong> ao se usar um ponteiro deve ser: saiba sempre para onde o ponteiro está apontan<strong>do</strong>. Isto inclui:<br />

nunca use um ponteiro que não foi inicializa<strong>do</strong>. Um pequeno programa que demonstra como não usar um ponteiro:<br />

main () /* Erra<strong>do</strong> - Nao Execute */<br />

{<br />

int x,*p;<br />

x=13;<br />

*p=x;<br />

}<br />

Este programa compilará e ro<strong>da</strong>rá. O que acontecerá? Ninguém sabe. O ponteiro p pode estar apontan<strong>do</strong> para<br />

qualquer lugar. Você estará gravan<strong>do</strong> o número 13 em um lugar desconheci<strong>do</strong>. Com um número apenas, você<br />

provavelmente não vai ver nenhum defeito. Agora, se você começar a gravar números em posições aleatórias no seu<br />

computa<strong>do</strong>r, não vai demorar muito para travar o micro (se não acontecer coisa pior).<br />

2.8 - Auto-avaliação on-line: aulas 5 e 6<br />

Respon<strong>da</strong> as perguntas abaixo, escolhen<strong>do</strong> a alternativa adequa<strong>da</strong> para ca<strong>da</strong> questão. Você pode atingir até a nota 100.<br />

Sen<strong>do</strong> que ca<strong>da</strong> questão certa vale 8,3 pontos.<br />

1- Seja um vetor declara<strong>do</strong> por<br />

int vet[10];<br />

Qual elemento deste vetor é acessa<strong>do</strong> quan<strong>do</strong> se escreve vet[2] ?<br />

a. Primeiro elemento<br />

b. Segun<strong>do</strong> elemento<br />

c. Terceiro elemento<br />

d. Quarto elemento<br />

e. Nenhuma <strong>da</strong>s opções anteriores<br />

2- Se declararmos um vetor como:<br />

int vet[30]<br />

a instrução abaixo acessa corretamente os elementos deste vetor?<br />

for (j=0; j

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!