C언어 구조체 2

자료구조 <추상화와 구조체>

현실에 존재하거나 존재하지 않는 무언가를 프로그래밍 세계로 객체지향 프로그래밍에서는 모든 것을 프로그래밍화 할 수 있다. 현실에 존재하는 요소는 물론이고 심지어 현실에 존재하지 않는 요소(이를테면 게임 캐릭터라던지…)까지도 구현할 수 있다. 다만, 어떤 요소를 프로그래밍 세계에서 구현하기 위해서는 최대한 대상의 특징을 단순화해야 한다. 즉, 구현할 대상을 프로그래밍적으로 꼭 필요한 부분만 단순화 시키는 것을 추상화라고 한다. ex) 회원가입 - ‘나’임을 알 수 있는 정보만을 입력해 증명 서비스를 제공하는 데 필요한 정보를 받는 것을 추상화라고 한다. 나한테 필요한 정보만을 추출하고 필요없는 것은 무시하는 작업 추상화와 구조체 구조체는 이렇듯 추상화를 통해 프로그래밍적으로 활용해 특정 요소만을 저장하는 ..

자료구조 2023.08.22

C언어 <구조체>

구조체 사용자가 c언어의 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 타입 다양한 타입의 변수 집합을 하나의 타입으로 나타낸 것 구조체 정의 변수 선언을 동시에 하기 struct 구조체 이름{ 멤버변수1의타입 멤버변수1의이름; 멤버변수2의타입 멤버변수2의이름; ... }구조체변수이름; ex) struct book{ char title[30]; char author[3]; int price; }my_book; 구조체를 가리키는 포인터 구조체의 이름은 구조체를 가리키는 주소가 아니다. 따라서 포인터 할당할 때에는 반드시 주소 연산자(&a)를 사용해야 한다. struct 구조체이름*구조체포인터이름; ex) struct book*ptr_my_book; 구조체 포인터를 이용하여 구조체의 멤버에 접근하는..

C언어 2023.08.05