C언어를 공부하다가 대뜸 생각난것이 자바처럼 int a = input.nextInt(); int [] arr = new int[a]; 가 가능한거와 달리 C언어는 동적할당을 부여해줘야된다. 입력한 크기만큼 메모리를 할당하여 배열처럼 사용한다는것.
다음 코드를 분석해보자.
scanf로 크기를 입력받고 int크기에 입력받은 크기를 곱하여 메모리에 할당을 한다. 메모리가 준비되어있으면 입력받은 크기만큼 반복하여 값을 할당. 위의 코드같은경우 메모리가 준비되어있으면 또 유저한테 그 배열 안의 값을 입력받아 값을 할당을 한다. 마지막으로 free(arr); 를 해줌으로서 메모리 할당을 반듯이 해제를 시켜준다. 'C 언어' Related Articles |