end.x - ln->start.x; int dy = ln->end.y - ln->start.y; return sqrt(dx * dx + dy * dy); }"> end.x - ln->start.x; int dy = ln->end.y - ln->start.y; return sqrt(dx * dx + dy * dy); }"> end.x - ln->start.x; int dy = ln->end.y - ln->start.y; return sqrt(dx * dx + dy * dy); }">
// 예제 10-13 : LINE 구조체의 정의 및 사용
#include <stdio.h>
#include <math.h>
typedef struct point // 점의 좌표
{
int x, y;
} POINT;
typedef struct line// 직선
{
POINT start, end;
} LINE;
double get_length(const LINE *ln);
int ex10_13(void)
{
LINE ln1 = { {10, 20}, {30, 40} };
printf("직선의 시작점: (%d, %d)\\n", ln1.start.x, ln1.start.y);
printf("직선의 끝점: (%d, %d)\\n", ln1.end.x, ln1.end.y);
printf("직선의 길이: %f\\n", get_length(&ln1));
return 0;
}
double get_length(const LINE* ln) // 직선의 길이 구하는 함수
{
int dx = ln->end.x - ln->start.x;
int dy = ln->end.y - ln->start.y;
return sqrt(dx * dx + dy * dy);
}