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
Reversão de edições por IP (que incluem vandalismo) |
|||
Linha 4:
== Structures ==
As
Mas o uso disto é que podemos ter valores que tenham alguma relação lógica, por exemplo guardar um int de idade e um string de nome. Isto pode ser atributos de uma pessoa. Ou seja podemos empacotar várias variáveis de várias tipologias com o objectivo de representar o mundo real e dar um nome a essas variáveis todas.
Linha 10:
Ao fazer isto criámos uma tipologia de dados da mesma forma como fazemos em relação ao int ou ao float.
== Declarar uma estrutura ==
A sintaxe é:
struct
<tipo> campo_um ;
<tipo> campo_dois ;
};
Aqui
O nome ou identificador pode ser alunos,familia,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.
Estamos a criar novas tipologias de dados.
<b>Primeiro Método :</b><br>
struct
int
int campo_dois ;
char
.}
Aqui o identificador é "tipo_dados" dentro dessa estrutura temos três campos .<br>▼
Agora podemos usar esse tipo para definir variáveis.<br>▼
Para ter acesso aos campos definidos dentro da estrutura utilizamos um operador de seleção de membro "."(um ponto).▼
▲Aqui o identificador do tipo "struct" é "
"fruta"<br>
▲Agora podemos usar esse tipo "struct" para definir variáveis.<br>
struct minha_estrutura nova_estructura ;
▲Para ter acesso aos
nova_estrutura.fruta[0] ;
Nos da o primeiro caracter da palavra contida dentro do membro "fruta".
== Matriz (uma maneira de ver a coisa) ==
Linha 96 ⟶ 70:
Podemos declarar os objectos ao de duas formas:
* Ao mesmo tempo que declaramos a estrutura
struct
int weight;
float price;
}
* Ou como uma variável normal
struct
{
..
}
int main()
{
product apple, banana, melon;
}
E até podemos declarar um array delas
'''Pergunta''': como é que é feito exactamente os objectos
Linha 115 ⟶ 92:
Se tivermos apenas um objecto (ou variável da estrutura) não é necessário darmos o nome da estrutura
char item[40]; // name of item
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 126 ⟶ 107:
e ponteiros? ter ponteiros apontar para onde? para outro objecto. sim pode fazer sentido.
e funções? não isto não me parece que faça sentido.
e estruturas?
== 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 150 ⟶ 130:
#include <iostream>
#include <string>
Linha 185 ⟶ 166:
Podemos iniciar uma estrutura de 2 maneiras:
|