새소식

컴퓨터공학 💻/C

C 프로그래밍 (19) - 동적 메모리 이용하기 II

  • -

 

구조체 자료형 int와 char를 생성해주고 char의 공간을 100으로 부여해준다.

book 구조체 포인터로 p를 생성해주고 book구조체로 형변환 한다음 구조체의 2배 만큼의 공간을 할당해준다.

 

구조체 포인터 같은 경우 -> 를 이용해 해당 변수에 접근 가능하다. p라는 구조체의 number 변수에 1을 삽입한다는 뜻이다. 그리고 title 변수에도 문자를 입력한다. 각각의 구조체 변수의 값을 넣어 초기화 해주고 이것으로 총 2개만큼의 책 정보가 들어갈 수 있는 배열같은 것이 만들어진 것이다. 

 

 

다음으로 현재 자신이 관리하고 있는 모든 책의 정보를 출력하는 함수를 만든다. 

void shoeBook(struct Book *p, int n) 

n은 책의 갯수를 의미하며 포인터p는 구조체 book을 동적 메모리에 할당한 포인터 그 자체를 말한다.

 

i를 0부터 증가시키도록 만들고 p+i의 number값과 p+i의 title값을 출력한다.

 

메인함수에서 showBook(p, 2)를 입력, (p, 2)는 2개까지 출력한다는 의미이며 free를 입력하여 메모리 할당을 해제한다.

 

출력하면 위와 같이 나오게 된다.

 

 

 

 

 

 

이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으로 정리하여 쓴 글임을 밝힙니다. 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.