1 분 소요


▶ 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

  1. 백화점 신용카드 고객(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);
}


  1. 학생(student)의 이름(name)과 주소(address)를 구조체의 배열에 저장하고 출력하는 프로그램을 작성하라. (단, 학생수는 5명)


  1. 삼각형의 세 변의 길이를 멤버로 갖는 구조체를 정의하고, 각 세변의 길이를 입력받아 각 필드에 저장한 후 정삼각형과 이등변 삼각형을 구분하는 프로그램을 작성하라.




📎참조

  • https://www.youtube.com/watch?v=EQdOk_22S6Q
  • https://www.tcpschool.com/c/c_struct_intro

태그:

카테고리:

업데이트:

댓글남기기