Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
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