Lista de Exercícios
( ) informa ao compilador que o valor da variável
não pode ser alterado por nenhum comando do programa, mas que pode
ser inicializado
( ) associa valores inteiros a uma lista de constantes
especificadas
( ) informa ao compilador que nenhum valor será
devolvido pela função
( ) informa ao compilador que a variável pode ser
modificada por algum evento que não está sob o controle do
programa
( ) avisa ao compilador que as variáveis que o seguem
já foram declaradas em outro lugar
( ) torna a variável permanente, mantendo seu valor
entre chamadas
( ) muito utilizada em ROM (Read-Only-Memory, memória
só de leitura)
( ) cria tipos compostos de uma lista de nomes constantes
( ) útil ao escrever funções generalizadas
e funções de biblioteca que podem ser usadas por outros programadores,
pois permite esconder porções do programa de outras partes
do código, evitando assim o uso de variável global
( ) permite criar apontadores genéricos (que apontam
para qualquer tipo)
( ) quando apontadores forem passados para a função,
garante que nenhum código na função poderá
modificar os objetos apontados
( ) armazena o valor da variável em um registrador
da CPU, acelerando operações
( ) usada para declarar variáveis locais em contraposição
as globais, mas muito pouco usada por já ser o padrão (default)
( ) avisa ao compilador que a variável em questão
sera largamente usada e deve permanecer acessível da forma mais
eficiente possível
( ) permite ao compilador conhecer a variável sem
criar armazenamento para ela novamente em outro modulo
Exercício 2:
Faça um programa que leia uma matriz de pontos flutuantes e
a copie em outra área de memória. O programa deverá
primeiramente perguntar ao usuário sobre a dimensão da matriz,
e alocar a memória. Em seguida deverá ler a matriz (via teclado
ou via arquivo) e *copiá-la em outra área de memória.
No final apresentar o resultado na tela.
*Existem dois caminhos para se copiar a matriz:
- Fazer um loop que copie cada posição;
- Usar a função memcpy (de string.h), que copia o conteúdo
de uma área de memória para uma determinada posição.
Veja parte do conteúdo do Manual de Linux para programadores, retirado
de um mail desta semana do Cesar Augusto:
MEMCPY(3)
Linux Programmer's Manual
MEMCPY(3)
NAME
memcpy - copy memory área
SYNOPSIS
#include <string.h>
void *memcpy(void *dest, const
void *src, size_t n);
DESCRIPTION
The memcpy() function
copies n bytes from memory área src
to memory área dest.
The memory areas may not overlap.
Use memmove(3) if the memory
areas do overlap.
RETURN VALUE
The memcpy() function returns
a pointer to dest.