[C언어] 구조체

2021. 4. 8. 17:07·Major/C&C++
728x90

#C언어로 쉽게 풀어 쓴 자료구조 책을 기반으로 작성하였습니다.

 

1. 구조체 

- 배열이 타입이 같은 데이터의 모임이라면, 구조체는 타입이 다른 데이터를 묶는 방법이다.

 

1) 구조체 형식

struct 구조체이름 {
    항목1;
    항목2;
    ...
};

구조체의 형식이 위와 같이 정의 되었다면 구조체 변수는 다음과 같이 생성한다.

struct 구조체이름 구조체변수;

 

간단한 예시로 구조체를 만들어보면,

struct student {
    char name[10];
    int age;
    double gpa;
};

위의 문장은 구조체의 형식만 정의한 것이고 실제로 구조체를 만들려면 아래와 같이 선언해야 한다.

struct student s;

구조체 안에 들어 있는 멤버를 사용하는 방법은 아래와 같다.

s.age = 20;
s.gpa = 4.3;
s.name = "beni";

 

 

 

+ 구조체를 새로운 타입으로 선언하려먼 typedef를 사용해야 한다.

typedef student {
    char name[10];
    int age;
    double gpa;
}std;

std는 새로운 데이터 타입의 이름이 된다.

마찬가지로 선언후 사용하는 것이 가능해진다.

std s;
std s = {"beni", 20, 4.5}; //초기화

 

728x90
저작자표시 비영리 (새창열림)

'Major > C&C++' 카테고리의 다른 글

[C언어] 동적 메모리 할당  (0) 2021.04.08
[C언어] 포인터로 두 변수의 값 서로 바꾸기  (0) 2021.04.08
[C언어] 문자/문자열 입력받기(여러개 입력받기)  (8) 2021.04.04
[C언어 복습] 포인터(배열포인터, 포인터배열)  (0) 2021.02.05
[C언어 복습] 문자열  (0) 2021.02.01
'Major/C&C++' 카테고리의 다른 글
  • [C언어] 동적 메모리 할당
  • [C언어] 포인터로 두 변수의 값 서로 바꾸기
  • [C언어] 문자/문자열 입력받기(여러개 입력받기)
  • [C언어 복습] 포인터(배열포인터, 포인터배열)
BeNI
BeNI
코딩하는 블로그
  • BeNI
    코딩못하는컴공
    BeNI
  • 전체
    오늘
    어제
    • Menu (254) N
      • My profile (1)
      • 회고 | 후기 (8)
      • Frontend (66) N
        • Article (11)
        • Study (36) N
        • 프로그래머스 FE 데브코스 (19)
      • Backend (0)
      • Algorithm (58)
        • Solution (46)
        • Study (12)
      • Major (111)
        • C&C++ (23)
        • Java (20)
        • Data Structure (14)
        • Computer Network (12)
        • Database (15)
        • Linux (6)
        • Architecture (3)
        • Lisp (15)
        • OS (1)
        • Security (2)
      • etc (2)
  • 링크

    • 깃허브
    • 방명록
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    리팩토링
    백준
    프로그래머스
    react
    C++
    데브코스
    lisp
    자료구조
    파일처리
    Algorithm
  • hELLO· Designed By정상우.v4.10.2
BeNI
[C언어] 구조체
상단으로

티스토리툴바