C언어

C언어 요점 정리 - 구조체

hyestar 2022. 1. 19. 19:26
#include <stdio.h>

// 컴퓨터한테 사람 데이터를 저장하고 사용하는 방법을 알려주면 된다.
// 구조체 정의
struct Person {
  int age;
  char* name;
  char* home;
  float height;
};


int main(void) {

  // 변수

  int a = 10;
  int b = 20;
  char c = 20;
  char* d = "홍길동";
  float f = 1.2;

  // 배열
  // 배열 규칙
  // 같은 자료형이여야 한다.
  // 연속되어야 한다.
  int arr[5] = {1,2,3,4,5};

  // int arr[5] = {1, 2, 3.4, "aa", 5}; 이런건 안됨

  // 사람 - 이름, 나이, 고향, 키
  // 사람을 이루는 데이터가 다양함.

  // int hong[5] = {30, "이순신", "서울", 189.6}; // 배열로는 사람 데이터를 저장할 수 없음


  int age2 = 30;
  char* name2 = "이순신";
  char* home2 = "서울";
  float height2 = 189.6;


  // 변수가 많아지면 관리가 힘드므로 구조체로 구조화 진행
  // 배열은 같은 자료형만 가능하므로 배열은 안되고 구조체로 진행
  // 구조체 - 정의를 통해 컴퓨터에게 알려준 후 사용. 정의는 함수 밖에서.
  // 배열과 다르게 여러 자료형을 포함할 수 있음
  struct Person p1 = {20, "홍길동", "대전", 175.6};
  struct Person p2 = {30, "이순신", "서울", 189.6};

  // 구조체에서 데이터 꺼내기. 구조체 안의 변수명으로 선택. 
  // 구조체 안의 변수들을 멤버변수라고 함.

  printf("%d살 %s입니다.\n", p1.age, p1.name );
  printf("%d살 %s입니다.\n", p2.age, p2.name );


  return 0;
}
728x90