포인터배열 동적할당 부분 설명좀 해주세요~!~!
뿡뿡
2023.04.01
질문 제목 : 질문 내용 :
typedef struct student {
int sid;
int korean;
int math;
int english;
}student
int main()
{
student *arr[20] = {null};
for(i=0; i20; i++)
{
arr[i] = (student*)malloc(sizeof(student));
}
코드 일부분 이에요
저 포인터배열이 선언되었을뗴 메모리가 할당이 안되는 건가요?
그냥 포인터라는 주소값을 가지는건가요? 그럼 포인터가 배열의 크기인 20개 만큼 있는건가요?
그리고 밑에 동적할당 해주었을 때,
만약 저렇게 20번이 돌아가면 그만큼의 메모리가 생기는건가요?
제가 10명을 받고 싶어서 10번만 돌리면 메모리는 10개 만큼만 생기고 뒤쪽은 그냥 주소값만 있는 빈공간인가요?
포인터배열을 왜 쓰는지일단예를 들어 설명좀 해주세요 ㅠㅠ...
그리고 선언되었을 때, 메모리가 어떻게 되고 또 동적할당 될 떄 메모리가 어떻게 되는지 알고싶습니다... 설명좀 부탁드려요 ㅠㅠ