Estruturas e dados em C
Estruturas em C
Por vanderfranco
Criei um código que calcula a distância entre os centros de duas circunferências. O exemplo mostra o uso de estruturas em C
/*******************Estruturas***********************/
#include
// nao esquecer de usar -lm com o linux quando incluir math.h
//gcc -Wall -o nomeExe nomePrograma.c -lm
#include
/********************************************************
* Estrutura é uma coleção de uma ou mais variáveis,
* possivelmente de tipos diferentes.
* A coleção vai ser nomeada com um unico nome.
********************************************************/
// numero de estruturas – circulo
#define NUM 1
/******************************************
* A estrutura funcionario eh composta
* das variaveis nome departamento e salalario
*
* struct funcionario { // estrutura
* char nome[NUM];
* int departamento;
* float salario;
* }; // fim da estrutura
*
* para declarar a estrutura funcionario
*
* struct funcionario fulano; // declaracao
*
* As estruturas tambem usam ponteiros.
* Vejas as funcoes usadas no exemplo.
*
* ***************************************/
//estrutura para implementar uma coordenada (x,y)
//podemos implementar a estrutura com t_ponto nomeDaEstrutura typedef struct ponto { float x; float y;
}t_ponto;
// estrutura de um circulo
// Note que o circulo possui uma estrutura ponto nomeada como centro
// para manipular os pontos devemos usar nomeDaEstrutura.centro.x ou nomeDaEstrutura.centro.y typedef struct circulo { t_ponto centro; float raio;
}t_circulo;
// prototipo da funcao circulo
// declaramos a tres ponteiros centro (x,y) raio e estrutura circulo void criacirculo(float *, float *, float *, t_circulo *);
// prototipo da funcao calcular a distancia entre os centros dos circulos
// declaramos dois ponteiros para os dois circulos float calculadistancia(t_circulo *, t_circulo *); int main(){
// variaveis auxiliares int i;
// variaveis de entrada coordenada (x,y)