아주대학교 통합설계프로젝트1 과제 6번째
- 최초 등록일
- 2012.07.01
- 최종 저작일
- 2012.05
- 8페이지/ MS 워드
- 가격 2,000원
목차
1. 수업자료 예제 3, 5 분석하기
2. 지난주에 만들었던 명함관리 프로그램을 모듈화 해보자. 함수들을 따로 *.c 파일에 모아놓고 참조하도록 한다. 헤더파일(*.h)에서는 함수를 정의하여 참조하도록 하자.
3. 출력화면
본문내용
예제 3
/*
정수를 -1이 입력될 때까지 계속 입력 받아 프로그램 종료 직전 입력받은 정수들을 출력하는 프로그램, 배열길이를 모르기 때문에 메모리를 동적할당함
ExtendSize에서 동적할당을 동해 길이가 추가된 배열을 새로 만들고 여태까지 입력된 값을 그대로 넣어준 다음 이 배열을 반환한다. 배열의 길이가 현재 사이즈를 초과할 때마다 이 함수를 실행
*/
#include <stdio.h> //헤더파일 불러옴
#include <stdlib.h>//헤더파일 불러옴
void ExtendSize(int** pArr, int* pSz); //ExtendSize 함수선언, **pArr, *pSz를인자로받음, 각각은 현재 입력받은 배열 포인터의 포인터, 그 배열사이즈
int main (void) //메인함수
{
int arrSize=5; //배열초기사이즈를5로,
int index=0; // 인덱스초기값을0으로선언
int i; // for문인덱스선언
int *arr = (int*)malloc(sizeof(int)*arrSize); // 메모리동적할당
while(1) //계속반복
{
printf("숫자는? ");
scanf("%d",&arr[index]); //현재인덱스의배열값을받는다
if(arr[index]==-1) // 입력한값이-1이면
break; // while문을빠져나감
if(arrSize==index+1) // 숫자를배열사이즈만큼받으면
ExtendSize(&arr, &arrSize); // 사이즈증가함수를불러옴
참고 자료
없음