검색어 입력폼

C언어 기초와 응용 15장 연습문제

저작시기 2007.01 |등록일 2007.06.08 워드파일MS 워드 (doc) | 2페이지 | 가격 500원

소개글

제 15장 연습문제 해답

목차

제 15장 연습문제 해답
1. 다음 프로그램의 출력 결과를 써라.
2. malloc()함수에 의해 할당된 메모리는 프로그램 종료 전에는 반드시 free()함수에 의해 반납되어야 한다. 반납되어야 하는 이유는 무엇인가?
3. 프로그램의 초기에 입력받을 정수의 총 갯수를 입력 받아서 그 만큼의 메모리를 할당한 뒤, 각각의 정수를 입력 받아서 이를 내림차순으로 정렬하는 프로그램을 작성하시오.
4. 표준입력에 의해 입력받아 새로운 메모리를 할당하여 각 라인을 따로 저장하는 프로그램을 작성하라(라인의 최대 수는 100라인으로 하고, 새 라인의 첫 문자가 Ctrl + Z 이면 종료한다.)
5. strcat(const char* s1, const char* s2)함수는 s1에 s2를 덧붙여 새로운 s1을 생성시키는 함수 이다. 이 함수를 작성하시오. (Hint. s1의 크기를 s1+s2의 크기로 size를 재조정한다.)

본문내용

제 15장 연습문제 해답

1. 다음 프로그램의 출력 결과를 써라.
해답
ZYXWVUTSRQPONMLKJIHGFEDCBA

2. malloc()함수에 의해 할당된 메모리는 프로그램 종료 전에는 반드시 free()함수에 의해 반납되어야 한다. 반납되어야 하는 이유는 무엇인가?
해답
malloc()에 의해 한 번 할당된 메모리는 절대로 다른 목적에 다시 사용될 수 엇기 때문에 할당만 해두고 반납을 하지 않으면 시스템의 전체 사용 가능한 메모리 공간이 줄어든다.

3. 프로그램의 초기에 입력받을 정수의 총 갯수를 입력 받아서 그 만큼의 메모리를 할당한 뒤, 각각의 정수를 입력 받아서 이를 내림차순으로 정렬하는 프로그램을 작성하시오.
#include <stdio.h>
void main(){
int i, j, temp, size, *ptr;

printf(Input Size: );
scanf(%d, &size);
ptr=(int *)malloc(sizeof(int)*size);

printf(nInput Data : );

for(i=0; i<size; i++)
scanf(%d,ptr+i);
putchar(`n`);

for(i=0; i<size; i++)
for(j=i; j<size; j++)
if( *(ptr+i) < *(ptr+j)){
temp=*(ptr+i);
*(ptr+i)=*(ptr+j);
*(ptr+i)=*(ptr+j);
*(ptr+j)=temp;
}

for(i=0; i<size; i++)
printf(%d ,*(ptr+i));
putchar(`n`);

free(ptr);
다운로드 맨위로