반응형

동적 메모리 할당 16

[C언어 알고리즘] 1.3 공통으로 사용할 코드

[C언어 알고리즘] 1.3 공통으로 사용할 코드앞으로 이 책에서 공통으로 사용할 소스를 먼저 소개할게요. 같은 부분을 계속 지면을 할애하는 것보다 앞에서 언급하고 넘어갈게요. 이 책에서 공통으로 사용할 Book 형식을 정의합시다. Book 형식에는 제목, 저자, 번호를 멤버로 구성하세요. #pragma once #define MAX_TIT_LEN 200 #define MAX_AUT_LEN 20 typedef struct _Book Book; struct _Book { char title[MAX_TIT_LEN+1]; char author[MAX_AUT_LEN+1]; int num; }; 그리고 동적으로 Book을 생성하는 함수와 소멸하는 함수를 제공합시다. Book *New_Book(const char *..

[C언어 무료 동영상 강의] 90. 동적 배열 소스 작성

[C언어 무료 동영상 강의] 90. 동적 배열 소스 작성 다루는 내용동적 메모리 할당순차 보관 가능한 배열 구현하기저장소의 크기를 동적으로 할당하는 배열 구현하기 저장소가 꽉차면 자동으로 확장하는 배열 구현하기 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다. 본문[디딤돌 C언어] 90. 동적 배열 소스 작성

[C언어 무료 동영상 강의] 88. 사용자 정의 배열 개요 89. 동적 배열 헤더 작성

[C언어 무료 동영상 강의] 88. 사용자 정의 배열 개요, 89. 동적 배열 헤더 작성 다루는 내용동적 메모리 할당실습할 사용자 정의 배열 소개 동적 배열 헤더 작성 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다. 본문[디딤돌 C언어] 88. 사용자 정의 배열 개요 [디딤돌 C언어] 89. 동적 배열 헤더 작성

[C언어 무료 동영상 강의] 86. 학생 구조체 동적 메모리 할당 실습

[C언어 무료 동영상 강의] 86. 학생 구조체 동적 메모리 할당 실습 다루는 내용동적 메모리 할당사용자 정의 형식학생 구조체 형식 동적 할당 함수 만들기 학생 구조체 형식 동적 해제 함수 만들기 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다. 본문[디딤돌 C언어] 86. 학생 구조체 동적 메모리 할당 실습

[C언어 무료 동영상 강의] 82. 동적 메모리 할당 함수, 83. malloc 함수, 84. calloc 함수, 85. realloc 함수

[C언어 무료 동영상 강의] 82. 동적 메모리 할당 함수, 83. malloc 함수, 84. calloc 함수, 85. realloc 함수 다루는 내용동적 메모리 할당malloc 함수 사용법calloc 함수 사용법realloc 함수 사용법 free 함수 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다. 본문[디딤돌 C언어] 82. 동적 메모리 할당 함수[디딤돌 C언어] 83. malloc 함수[디딤돌 C언어] 84. calloc 함수 [디딤돌 C언어] 85. realloc 함수

[C언어 소스] 성적 관리 프로그램 4가지 유형

[C언어 소스] 성적 관리 프로그램 4가지 유형 C언어로 프로그래밍할 때 데이터를 관리할 메모리를 언제 부여하게 할 것인가에 따라 여러 형태로 프로그램을 작성할 수 있습니다.이번에는 학생 성적 관리 프로그램을 4가지 유형으로 서로 비교합시다. 제공 기능1. 학생 데이터 입력2. 학생 데이터 삭제3. 학생 검색4. 목록 보기 전역 변수 사용 소스 보기동적 메모리 할당 이용 소스 보기학생 데이터를 위한 메모리도 동적 메모리 할당 이용 소스 보기 이중 연결리스트를 이용한 소스 보기

[C언어] 85. realloc 함수

85. realloc 함수 void *realloc(void *base,size_t nsize); C언어에서 동적으로 할당한 메모리는 free 함수를 이용하여 부분적으로 해제할 수 없어요. 대신 realloc 함수를 이용하여 할당한 메모리의 크기를 조절할 수 있어요. 첫 번째 입력 인자에는 이전에 동적으로 할당한 메모리 주소를 전달하세요. 두 번째 입력 인자에는 새로 할당할 메모리 크기를 전달해요. realloc 함수를 이용하면 기존의 메모리의 내용은 유지하면서 메모리 크기를 변경할 수 있어요. 새롭게 늘어난 부분의 값은 쓰레기 값이예요. 그리고 realloc 함수를 호출할 때 첫 번째 입력 인자로 0을 전달해서 동적 메모리를 할당받을 수도 있어요. 대부분 realloc 함수를 사용할 때 동적으로 할당한..

[C언어] 84. calloc 함수

84. calloc 함수 void *calloc(size_t count,size_t size); calloc 함수는 같은 형식 여러 개를 동적으로 할당하기 쉽게 만들어졌어요. 그리고 할당한 메모리는 0으로 설정한 상태로 반환해 줘요. calloc 함수는 메모리를 할당하고 초기화까지 해 주지만 실제 프로그래머들은 malloc을 더 많이 사용해요. ◈ calloc 함수 호출로 동적 메모리 할당 #include #include int main() { int *pi = (int *)calloc(1, sizeof(int)); //원하는 형식 포인터로 형변환 printf("초기: %d \n",*pi); *pi= 20; //간접 연산으로 사용 printf("간접 연산을 수행한 후: %d\n",*pi); free(pi..

[C언어] 83. malloc 함수

83. malloc 함수 void *malloc(size_t size); malloc 함수를 사용할 때는 입력 인자로 필요한 형식의 메모리 크기를 전달하세요. malloc 함수는 요청한 크기의 메모리를 동적으로 할당하여 반환해줘요. 호출한 곳에서는 원하는 형식의 포인터로 형변환하여 할당받은 주소를 기억하세요. 그리고 간접 연산이나 인덱스 연산으로 할당받은 메모리에 원하는 값을 설정하거나 얻어올 수 있어요. 참고로 malloc 함수를 호출하면 메모리만 할당하며 할당한 메모리의 값을 초기화하지 않아요. 따라서 동적으로 할당받은 메모리의 초기값은 쓰레기 값(Garbage Value)이예요. 그리고 동적으로 할당받은 메모리가 더 이상 필요 없으면 free 함수를 호출하여 해제하세요. ◈ malloc 함수 호출로..

원형 큐 - 버퍼 공간을 동적으로 생성, 정수 보관, C 언어 소스

원형 큐 - 버퍼 공간을 동적으로 생성, 정수 보관, C 언어 소스 //원형 큐 - 버퍼 공간을 동적으로 생성, 정수 보관 #include #include #define NEXT(index,QSIZE) ((index+1)%QSIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef struct Queue //Queue 구조체 정의 { int *buf;//저장소 int qsize; int front; //꺼낼 인덱스(가장 오래전에 보관한 데이터가 있는 인덱스) int rear;//보관할 인덱스 int count;//보관 개수 }Queue; void InitQueue(Queue *queue, int qsize);//큐 초기화 int IsFull(Queue *queue); //큐가 꽉 찼는지 확인..

반응형