구조체란, 서로 다른 종류의 데이터를 하나로 묶기위해 사용하는 자료형이다.
예를 들어, 학생의 정보를 구조체로 묶어보자.
struct student {
int number;
char name[10];
double grade;
}
배열이 여러 개의 같은 자료형을 하나로 묶는 것이라면 구조체는 서로 다른 자료형들을 하나로 묶는 것이다.
2차원 공간 상의 점을 구조체로 표현하기
사용자로부터 두 점의 좌표를 입력받아서 두 점사이의 거리를 계산하여 보자. 점의 좌표를 구조체로 표현한다. 두 점 사이의 거리를 구하는 공식으로 계산한다.
#include<stdio.h>
#include<math.h>
struct point {
int x;
int y;
};
int main(void)
{
struct point p1, p2;
int xdiff, ydiff;
double dist;
printf("점의 좌표를 입력하시오(x y): ");
scanf_s("%d %d", &p1.x, &p1.y);
printf("점의 좌표를 입력하시오(x y): ");
scanf_s("%d %d", &p2.x, &p2.y);
xdiff = p1.x - p2.x;
ydiff = p1.y - p2.y;
dist = sqrt((double)(xdiff * xdiff + ydiff * ydiff));
printf("거리는 %f입니다. \n", dist);
return 0;
}
'coding > C언어' 카테고리의 다른 글
포인터, 구조체 이해하기. 평점이 제일 높은 학생 출력 프로그램 (0) | 2021.11.19 |
---|---|
구조체를 가리키는 포인터 (0) | 2021.11.19 |
C프로그래밍 배열 이해하기. 극장 좌석 예약하기 프로그램 (0) | 2021.11.18 |
C프로그래밍 이해하기. 삼각함수 그리기 (0) | 2021.11.18 |
C프로그래밍 함수 이해하기. 섭씨 온도를 화씨 온도로, 그 반대로 변환하는 프로그램 작성. 난수함수로 동전던지기 게임 만들기; (0) | 2021.11.18 |