Programming/C

c언어 구조체와 캡슐화

Saans 2022. 1. 30. 16:25

cs50 x edwith 

 

일반적인 자료형들을 사용하기 적합하지 않을때 데이터를 캡슐화하여 어떤 개체에 연관되는 정보들을 한 덩어리로 묶을 수 있음.

단독으로는 의미 없지만 정보(멤버)들이 모여 개체를 이룰때 의미를 가짐. C에서 구조체(structure)라는 방법을 사용

typedef struct
{
	string name;
    int year;
    float gpa;
}
student;

-특정 멤버에 접근

구조체명.멤버명(student.name)

student s1 = {'Saans', 2021, 4.0};
s1.gpa = 3.5;

#include <stdio.h>
#include <string.h>

//학생 정보를 저장하는 student 구조체를 정의합니다.
struct student
{
	char name[20];  //이름이 들어갈 공간을 20으로 정해준다 안쓰면 null값 뜸 
	int age;
};
대 
int main()
{
    //학생 3명의 정보를 저장할 student를 선언하며 값을 초기화합니다.
    //김하하 17, 박호호 19, 최히히 18
	struct student s1 = {"김하하", 17};
	struct student s2 = {"박호호", 19};
	struct student s3 = {"최히히", 18}; 
    
    
    //세 학생의 정보를 차례대로 출력합니다. 각 학생의 정보는 줄내림으로 구분합니다.
    printf("%s %d\n", s1.name,s1.age); 
    printf("%s %d\n", s2.name,s2.age);
    printf("%s %d\n", s3.name,s3.age);
  
}

char에 이름이 들어갈 공간을 정하지 않으면 null값으로 뜨는게 흥미로웠다. 기억하기