[C] Struct
▶ Struct(구조체)란?
- Struct(구조체)
- 기존의 자료형을 조합하여 새로운 자료형을 만드는 방법
▷ 구조체 정의와 선언
- 구조체 정의 예시
struct student {
int num;
char name[10];
char phone[12];
}
- 구조체 선언 예시
struct student A;
- 구조체 접근 예시
A.num = 10;
▷ typedef 키워드
-
typedef
- 이미 존재하는 타입에 새로운 이름을 붙일 때 사용한다.
- 구조체 변수를 선언하거나 사용할 때에는 매번 struct 키워드를 사용하여 구조체임을 명시한다.
struct student A;
- 하지만 typedef 키워드를 사용하여 구조체에 새로운 이름을 선언하면 매번 struct 키워드를 사용하지 않아도 된다.
typedef struct student { int num; char name[10]; char phone[12]; } Student;
- 따라서 구조체를 선언할 때 아래처럼 간단히 축약할 수 있다.
Student A;
▷ 전체코드
#include <stdio.h>
#include <string.h>
typedef struct student {
int num;
char name[10];
char phone[12];
} Student;
int main()
{
Student A;
A.num=10;
strcpy_s(A.name, sizeof(A.name), "sieun"); // 문자열 "sieun"을 name에 복사
strcpy_s(A.phone, sizeof(A.phone), "010-1234"); // 문자열 "010-1234"를 phone에 복사
printf("num: %d\n", A.num);
printf("name: %s\n", A.name);
printf("phone: %s\n", A.phone);
}
- 짜잔!😺
✏️문제
문제출처 : https://lypicfa.tistory.com/146
- 백화점 신용카드 고객(customer) 중 “Johnson”의 정보(ID, name, address)를 출력하는 프로그램을 작성하라.
#include <stdio.h>
#include <string.h>
typedef struct customer {
int ID;
char name[8];
char address[20];
}Customer;
int main()
{
Customer list[10];
list[0] = (Customer){ 10, "Johnson", "하와이" };
list[1] = (Customer){ 20, "sieun", "경기도" };
printf("ID : %d \n", list[0].ID);
printf("name : %s \n", list[0].name);
printf("phone : %s \n", list[0].address);
}
- 학생(student)의 이름(name)과 주소(address)를 구조체의 배열에 저장하고 출력하는 프로그램을 작성하라. (단, 학생수는 5명)
- 삼각형의 세 변의 길이를 멤버로 갖는 구조체를 정의하고, 각 세변의 길이를 입력받아 각 필드에 저장한 후 정삼각형과 이등변 삼각형을 구분하는 프로그램을 작성하라.
📎참조
- https://www.youtube.com/watch?v=EQdOk_22S6Q
- https://www.tcpschool.com/c/c_struct_intro
댓글남기기