티스토리 뷰

C

[C] 구조체

tonirr 2021. 4. 30. 22:51
  • 구조체의 개념
    • 구조체(structure)란?
      • 서로 다른 자료형을 갖는 자료들의 모임을 하나의 자료형으로 정의하여 사용하는 자료형
    • 구조체 => 사용자 정의 자료형
      • 다양한 형식의 자료를 간결한 형식으로 표현 가능
      • 사용자가 새로운 형식을 정의하여 사용할 수 있다.
  • 구조체의 정의와 변수 선언
    • 구조체의 정의
      • 형식 
        • struct 구조체명{ member 1; member 2;}
    • 구조체 변수의 선언
      • 형식
        • struct 구조체명 변수명1, 변수명2, 변수명3;
      • 사용예
        • struct score x, y[10], z;
  • 구조체 변수의 초기화
struct person{
	char name[8];
    int age;
    char sex;
};
struct person X = {"홍길동", 20, 'M'};

 

  • 구조체 멤버의 참조
    • 형식
      • 구조체변수명.멤버명
    • 사용예
      • X.name
      • X.age
      • X.sex
  • 구조체 배열
    • 구조체 배열이란?
      • 동일한 구조를 갖는 구조체 변수가 여러 개 사용 될 때, 그 구조체 변수들을 대표하는 배열명을 설정하여 일반 배열과 같이 사용
    • 구조체 배열의 예
      • 3명의 개인 신상정보를 저장하기 위한 구조체 배열 선언
struct person{
	char name[8];
    int age;
    char sex;
} X[3];

struct person{
	char name[8];
    int age;
    char sex;
};
struct person X[3];

 

  • 구조체 배열의 초기화
    • struct person X[3] = {{"홍길동", 20, 'M'}, {"황진이", 22, 'F'}, {"임꺽정", 30, 'M'}}
  • 구조체 배열의 멤버 참조
    • strcpy(X[1].name, "홍길동");
    • X[3].sex = 'M';
    • K = X[2].age;
  • 구조체 포인터
    • 포인터를 사용하여 구조체를 다룰 수 있게 함
      • 구조체를 보다 쉽게 다룰 수 있다.
      • 구조체변수 선언 시 *를 붙여 포인터로 선언
      • 구조체 포인터는 포이넡와 동일하게 주소값을 갖게 되며, 자료가 있는 곳을 가르킨다.
    • 구조체 포인터의 선언
      • 형식: struct 구조체명 *포인터변수명;
      • 사용 예: struct person *pt;
struct person {
	char name[8];
    int age;
    char sex;
};
struct person man;
struct person *pt;
pt = &man;

 

  •  
    • 구조체 포인터의 멤버 참조
      • 도트 연산자(.)를 이용
        • (*pt).name
      • 포인터 연산자(->)를 이용
        • pt->name

'C' 카테고리의 다른 글

[C] 구조체와 공용체  (0) 2021.05.08
[C] 포인터와 배열  (0) 2021.04.27
[c] 포인터  (0) 2021.04.21
[C] 배열  (0) 2021.04.14
[C] 입.출력 함수와 연산자  (0) 2021.03.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함