반응형

동적 메모리 할당 16

스택 - 버퍼를 동적 할당, 정수 형식 보관, C언어 소스

스택 - 버퍼를 동적 할당, 정수 형식 보관, C언어 소스 //스택 - 버퍼를 동적 할당, 정수 형식 보관 #include #include typedef struct Stack //Stack 구조체 정의 { int *buf;//저장소 int ssize;//저장소 크기 int top; //가장 최근에 보관한 인덱스 }Stack; void InitStack(Stack *stack, int ssize);//스택 초기화 int IsFull(Stack *stack); //스택이 꽉 찼는지 확인 int IsEmpty(Stack *stack); //스택이 비었는지 확인 void Push(Stack *stack, int data); //스택에 보관 int Pop(Stack *stack); //스택에서 꺼냄 void D..

[C언어 소스] 성적 관리 프로그램 - 동적 메모리 할당

[C언어 소스] 성적 관리 프로그램 - 동적 메모리 할당 //성적 관리 프로그램 - 배열을 동적 메모리 할당 //학생 번호 순으로 동적 배열에 보관 //학생 데이터는 동적으로 할당받지 않음 //최대 학생 수를 프로그림 시작 시에 사용자가 결정 //입력 오류에 관한 예외 처리 없음 #include #include #include #include #define MAX_NLEN 20 //최대 이름 길이 #define MAX_SUBJECT 3 //과목 수 typedef struct{//학생 구조체 정의 char name[MAX_NLEN+1];//이름 int num; //번호 int scores[MAX_SUBJECT];//국,영,수 성적 }Student; const char *stitles[MAX_SUBJECT]..

realloc 함수 [C언어 표준 라이브러리 함수 가이드]

realooc헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - stdlib.h void *realloc(void *ptr, size_t size); 동적으로 메모리 할당 입력 매개 변수 리스트 ptr 기존에 동적으로 할당한 메모리 주소 size 새로 할당할 메모리 크기 반환 값 새로 할당한 메모리 주소 realloc 함수는 기존에 동적으로 할당했던 메모리를 새로운 크기로 재할당하는 함수입니다. 첫번째 인자로 0을 전달하면 malloc함수에 size를 전달한 것과 같습니다. 그렇지 않을 때는 반드시 동적으로 할당한 메모리 주소여야 합니다. realloc 함수는 새로운 메모리 크기 size만큼 메모리를 할당하고 기존에 할당했던 메모리의 내용은 새롭게 할당한 메모리에 복사해 줍니다. 만약 ..

malloc 함수 [C언어 표준 라이브러리 함수 가이드]

malloc헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - stdlib.h void *malloc(size_t size); 동적으로 메모리 할당 입력 매개 변수 리스트 size 메모리 할당 요청 크기 반환 값 동적으로 할당한 메모리 주소 malloc 함수는 동적으로 메모리를 할당하는 대표적인 함수입니다. calloc 함수는 메모리를 할당하고 할당한 메모리의 모든 비트를 0으로 설정합니다. 하지만 malloc 함수는 메모리 할당만 수행하며 할당한 메모리에는 원래의 값 그대로 남아 있습니다. 이와 같은 값을 개발자에게는 의미없는 값이어서 쓰레기 값(Gabage Value)라고 부릅니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //void *malloc(size_t siz..

free 함수 [C언어 표준 라이브러리 함수 사용법 가이드]

free헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - stdlib.h void free(void *ptr); 동적으로 할당한 메모리 해제 입력 매개 변수 리스트 ptr 동적으로 할당한 메모리 주소 반환 값 없음 free 함수는 동적으로 할당한 메모리를 해제하는 함수입니다. 동적으로 할당한 메모리는 부분적으로 해제할 수 없습니다. 따라서 프로그램에서는 동적으로 할당한 메모리 주소를 기억해 두었다가 더 이상 사용하지 않을 때 free 함수로 해제합니다. 만약 동적으로 할당한 메모리의 크기를 변경하기 원하는 realloc 함수를 사용합니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //void free(void *ptr); 동적으로 할당한 메모리 해제 //정수형 변수의 주..

calloc 함수 [C언어 표준 라이브러리 함수 가이드]

calloc헤더 파일[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - stdlib.h void *calloc(size_t nmemb, size_t size); 동적으로 메모리 할당 입력 매개 변수 리스트 nmemb 동적으로 할당할 개체 수 size 할당할 개체의 크기 반환 값 동적으로 할당한 메모리 주소 calloc 함수는 동적으로 메모리를 할당하는 함수입니다. 그리고 calloc 함수는 동적으로 할당한 메모리의 모든 비트를 0으로 설정합니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //void *calloc(size_t nmemb, size_t size); 동적으로 메모리 할당 //동적으로 생성한 Data를 동적으로 생성한 Stack에 보관 #include #include #i..

반응형