malloc 2

03. C언어_동적 메모리 할당(1차원 배열)

동적 메모리 할당이란?-  프로그램 수행중에 필요한 크기의 메모리를 할당받아 사용하는 것을 동적 메모리 할당이라고 한다.- malloc() 함수로 메모리를 할당받고, 사용이 끝난 메모리는 free()함수로 해제한다.- 동적 할당 메모리는 RAM 내의 heap영역에 할당된다.- 동적 할당 메모리는 이름이 없고 메모리의 주소만 가진다.- 동적할당 메모리는 할당시 부터 해제시까지 전체 프로그램에서 유효하며, 해제를 따로 하지 않았을 떄에는 main 함수가 끝날때 해제된다.- 장점 ) 프로그램의 사용중에 프로그래머가 원하는 만큼 데이터를 확보/제거하며 유동적으로 데이터를 관리할 수 있다. malloc, free 예시- malloc함수는 할당하고자하는 메모리의 크기를 입력받아 메모리를 할당한다. 할당에 성공 시 ..

C언어 2024.05.15

04. C언어_동적 메모리 할당 (2차원 배열)

1. 행, 열의 파라미터가 주어진 이차원 배열의 동적메모리 할당예제) 학생수를 입력받아 5과목에 대한 성적처리를 해라 (int(*p)[5] 배열 포인터 활용) #include//파일 입출력#include //동적 메모리 할당typedef int(*multiPtr)[5]; //원소 5개를 동시에 가리키는 배열 포인터 자료형 타입 선언multiPtr myAlloc(int); //동적 메모리의 시작주소를 나타내는 배열 포인터의 주소 반환void myDelete(multiPtr); //동적 메모리의 시작주소를 받아 동적메모리 해제void dataInput(multiPtr, int); //동적 메모리의 시작주소와 row수를 전달인자로 받아 데이터 입력void dataOutput(multiPtr, int); //동..

C언어 2024.05.15