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값으로 뜨는게 흥미로웠다. 기억하기