Construção E Implementação De Estruturas E C
Dissertações: Construção E Implementação De Estruturas E C. Pesquise 862.000+ trabalhos acadêmicosPor: GuilhermeZ69 • 24/6/2013 • 308 Palavras (2 Páginas) • 270 Visualizações
Construção e implementação de Estruturas
struct retangulo {
struct ponto inicio;
struct ponto fim;
};
struct retangulo r = { { 10, 20 }, { 30 , 40 } };
• Acesso aos dados:
r.inicio.x += 10;
r.inicio.y -= 10;
Atribuição de Estruturas
• Inicialização de uma estrutura:
struct ponto p1 = { 220, 110 };
• Atribuição entre estruturas do mesmo tipo:
struct ponto p1 = { 220, 110 };
struct ponto p2;
p2 = p1; /* p2.x = p1.x e p2.x = p1.y */
• Os campos correspondentes das estruturas
são automaticamente copiados do destino
para a fonte
• Atenção para estruturas que contenham ponteiros:
struct aluno {
char *nome; int idade;
} a1, a2;
a1.nome = “Pedro”;
a1.idade = 32;
a2 = a1;
• Agora a1 e a2 apontam para o mesmo string nome:
a1.nome == a2.nome == “Pedro”
Na passagem por valor (como foi visto até agora), os parâmetros de uma função funcionam como variáveis suas, ou seja NADA tem a ver com as variáveis da função que a chamou. Desta forma alterações nos valores desses parâmetros não interferem nos valores das variáveis da função
Nesta função por exemplo x1 é alterado mas a variável v2 da main não é alterada. Isso ocorre porque o parâmetro x1 funciona como uma variável da função soma apenas inicializada com o valor de v2 (por isso se chama passagem de parâmetro por valor)
dcia:
No entanto pode ser interessante que uma variável na função chamadora possa ser alterada (ex: função que troque o valor de duas variáveis). Ou mesmo haja a necessidade de se retornar mais de um valor da função (pois com o return só é possível retornar um único valor), por exemplo função que retorne as horas e minutos dados apenas os minutos.
Para esses casos, algumas linguagens permitem a passagem de parâmetros por referência, onde uma variável passada como parâmetro ao ser alterada dentro da função tem seu valor alterado também na função chamadora (é na verdade uma única variável usada por ambas as fuções).
...