본문 바로가기
  • 시간(時間)을 아끼는 방법은 시간을 낭비하지 않는것


C_ language/C언어 심화_모각코

C언어_심화_구조체

by pk7912 2022. 5. 6.
728x90
728x90

커뮤니티_모각코 (모여서, 각자, 코딩) 활동을 하면서 배운 내용을 되새기며 쓴 글입니다.  

코딩을 배우고 싶다면 코뮤니티 활동을 적극 추천합니다.

https://cafe.naver.com/codeuniv

 

코딩 커뮤니티 - 코뮤니티 [파이썬/... : 네이버 카페

코뮤니티 [코딩공부/독학/스터디/대외활동] : python, C언어, java, 자바스크립트, HTML, CSS, 웹/앱개발

cafe.naver.com

 

 


C언어에서 구조체란?

구조화 (의미가 연결된 조직) 된 데이터를 처리하는 방식을 말합니다.

구조체는 사용자가 직접 만들어 사용하는 자료형입니다.

배열이 같은 타입의 집합이라면, 구조체는 다른 타입(자료형)의 집합이라고 생각하면 됩니다. 


struct

struct 사용하는 방식

 

struct 구조체이름
{
	자료형 멤버변수이름a;
	자료형 멤버변수이름b;
};


// 선언시 초기화
struct 구조체이름 변수이름 = {변수값1, 변수값2, ....};

// 선언후 값 할당
struct 구조체이름 변수이름;
변수이름.멤버변수이름a = 변수값1;
변수이름.멤버변수이름b = 변수값2;


#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h> 

struct Person 
{ 
    char name[10]; 
    char id[20]; 
    int age; 
}; 

int main(void) 
{ 
	struct Person person; 
    printf("이름: "); 
    scanf("%s", person.name);  
    printf("학번: "); 
    scanf("%s", person.id); 
    printf("나이: "); 
    scanf("%d", &person.age); 
    printf("%s씨는 %d세 이고, 학번은 %s 입니다.", person.name, person.age, person.id); 
return 0; 
}

 

 

 

 

 


 

typedef

struct처럼 복잡한 자료 구조를 선언하는 문을 좀더 단순하게 만들기위해 
typedef로 구조체를 정의하고, 별칭을 지정합니다.

typedef 사용하는 방식


//typedef struct 구조체이름 { 자료형 멤버변수이름1; 자료형 멤버변수이름2; } 구조체별칭;


#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h> 

typedef struct _Person 
{
    char name[10]; 
    char id[20]; 
    int age; 
} Person ;

int main(void) 
{ 
    Person person; 
    printf("이름: "); 
    scanf("%s", person.name); 
    printf("학번: "); 
    scanf("%s", person.id); 
    printf("나이: "); 
    scanf("%d", &person.age); 
    printf("%s씨는 %d세 이고, 학번은 %s 입니다.", person.name, person.age, person.id); 
return 0; 
}

 

 

 


 

practice

학생 정보 입력 받기

사용자로부터 학생의 이름, 나이, 학년, 수학, 영어, 국어 점수를 입력받고

이를 평균과 함께 출력하는 프로그램을 작성하세요.

 

마무리

"구조체"  

웹사이트에  회원 가입 시 적는 항목들 같다는 생각이 듭니다.

그 항목들을 구조체 형식으로 관리하는 게 아닐까... 

어디에 쓰이는지 찾아보는 게 도움 될 것 같습니다.

 

 

댓글