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.

char str[80],c;<br />

/* Le um nome para o arquivo a ser aberto: */<br />

printf("\n\n Entre com um nome para o arquivo:\n");<br />

gets(str);<br />

if (!(p = fopen(str,"w"))) /* Caso ocorra algum erro na abertura <strong>do</strong> arquivo..*/<br />

{ /* o programa aborta automaticamente */<br />

printf("Erro! Impossivel abrir o arquivo!\n");<br />

exit(1);<br />

}<br />

/* Se nao houve erro, imprime no arquivo, fecha ...*/<br />

fprintf(p,"Este e um arquivo chama<strong>do</strong>:\n%s\n", str);<br />

fclose(p);<br />

/* abre novamente para a leitura e fecha. */<br />

p = fopen(str,"r");<br />

while (!feof(p))<br />

{<br />

fscanf(p,"%c",&c);<br />

printf("%c",c);<br />

}<br />

fclose(p);<br />

}<br />

Aula 10<br />

10 - Tipos de Da<strong>do</strong>s Avança<strong>do</strong>s<br />

10.1 - Modifica<strong>do</strong>res de Acesso<br />

Estes modifica<strong>do</strong>res, como o próprio nome indica, mu<strong>da</strong>m a maneira com a qual a variável é acessa<strong>da</strong> e modifica<strong>da</strong>.<br />

10.1.1 - const<br />

O modifica<strong>do</strong>r const faz com que a variável não possa ser modifica<strong>da</strong> no programa. Como o nome já sugere é útil<br />

para se declarar constantes. Poderíamos ter, por exemplo:<br />

const float PI=3.141;<br />

Podemos ver pelo exemplo que as variáveis com o modifica<strong>do</strong>r const podem ser inicializa<strong>da</strong>s. Mas PI não poderia ser<br />

altera<strong>do</strong> em qualquer outra parte <strong>do</strong> programa. Se o programa<strong>do</strong>r tentar modificar PI o compila<strong>do</strong>r gerará um erro de<br />

compilação.<br />

O uso mais importante de const não é declarar variáveis constantes no programa. Seu uso mais comum é evitar que<br />

um parâmetro de uma função seja altera<strong>do</strong> pela função. Isto é muito útil no caso de um ponteiro, pois o conteú<strong>do</strong> de<br />

um ponteiro pode ser altera<strong>do</strong> por uma função. Para tanto, basta declarar o parâmetro como const. Veja o exemplo:<br />

#include <br />

int sqr (const int *num);<br />

main (void)<br />

{<br />

int a=10;<br />

int b;<br />

b=sqr (&a);<br />

}<br />

int sqr (const int *num)<br />

{<br />

return ((*num)*(*num));<br />

Pág. 68

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

Saved successfully!

Ooh no, something went wrong!