Programar em C/Estruturas: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
EvertonS (discussão | contribs)
Sem resumo de edição
Linha 17:
<tipo> campo_um ;
<tipo> campo_dois ;
}var_um , var_dois ;
};
 
Aqui o tipo struct indica que vamos criar umaum novo tipo estrutura.
O nome ou identificador pode ser alunos,familiafamília,etc . (têm de ser válidos identifiers)
Não esquecer o ponto e vírgula “;” no fim da declaração.
Campo_um e Campo_dois são variáveis membro – member variables – ou campo da estrutura. Podemos ter também funções membro.
Linha 26:
<b>Primeiro Método :</b><br>
 
struct minha_estruturatipo_dados {
int variavel_umcampo_um ;
int campo_dois ;
char fruta[40] *campo_ultimo ;
.} };
 
Aqui o identificador do tipo "struct" é "minha_estruturatipo_dados" dentro dessa estrutura temos três campos o ultimo é.<br>
Agora podemos usar esse tipo "struct" para definir variáveis.<br>
struct tipo_dados nova_variável ;
 
Para ter acesso aos membros definidos dentro da estrutura utilizamos um operador de seleçaoseleção de membro "."(um ponto).
nova_variavel.campo_um ;
 
==Inicializar os campos==
nova_variavel.campo_um = 10 ;
nova_variavel.campo_dois = 2 ;
nova_variavel.campo_ultimo = "etc";
 
Durante a inicialização da variável:
Se faltar alguma inicialização o campo sera inicializado a 0 (zero).
struct tipo_dados nova_variavel = {10,2,"etc"} ;
 
Algumas novidades do C99, nomear os campos durante a inicialização .
 
struct tipo_dados nova_variavel = {.campo_um =10, .campo_dois = 2, .campo_ultimo = "etc" } ;
 
Um exemplo mais interessante <br>
Definimos duas estrutura e criamos uma nova variável do tipo var_dois dentro da segunda .
typedef struct { int a ; } var_dois;
 
typedef struct { int b ; var_dois var_v ; } var_um;
 
Inicializar a variável var .<br>
 
var_um var = {
.b = 1,
.var_v = {
.a = 2,
} ,
};
 
Aqui o identificador do tipo "struct" é "minha_estrutura" dentro dessa estrutura temos três campos o ultimo é
"fruta"<br>
Agora podemos usar esse tipo "struct" para definir variáveis.<br>
struct minha_estrutura nova_estructura ;
 
Para ter acesso aos membros definidos dentro da estrutura utilizamos um operador de seleçao de membro "."(um ponto).
nova_estrutura.fruta[0] ;
Nos da o primeiro caracter da palavra contida dentro do membro "fruta".
 
== Matriz (uma maneira de ver a coisa) ==
Linha 70 ⟶ 98:
Podemos declarar os objectos ao de duas formas:
* Ao mesmo tempo que declaramos a estrutura
struct productProduto {
..
int weight;
} applelaranja , banana, melonpera;
float price;
} apple, banana, melon;
* Ou como uma variável normal
struct productProduto{
{
..
}
int main(){
produto laranja , banana, pera;
{
product apple, banana, melon;
}
 
E até podemos declarar um array delas
PersonProduto p[20];
 
'''Pergunta''': como é que é feito exactamente os objectos
Linha 93 ⟶ 118:
Se tivermos apenas um objecto (ou variável da estrutura) não é necessário darmos o nome da estrutura
struct {
...
char item[40]; // name of item
} nome_da_variavel ;
double cost; // cost
 
double retail; // retail price
int on_hand; // amount on hand
int lead_time; // number of days before resupply
} temp;
 
'''Pergunta''': neste caso como é que chamamos o objecto fora da declaração da estrutura?
 
'''Pergunta''': como objectos podemos ter o quê?
Linha 112 ⟶ 133:
 
 
== Inicializar e aceder aos membros em C++ ==
== Aceder as variáveis membro das estruturas ==
 
Agora queremos dar valores a cada uma das pessoas, queremos dar o nome e a altura, para isso faríamos;
p1.name = “Tiago”
p1.name =1,9
 
Exemplo C++ :
 
Se quiséssemos imprimir o valor guardado
Linha 130 ⟶ 153:
 
 
Exemplo
#include <iostream>
#include <string>
Linha 166 ⟶ 188:
 
 
=== Iniciar uma estrutura C++ ===
 
Podemos iniciar uma estrutura de 2 maneiras: