목록분류 전체보기 (242)
Minwoo Dev.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cA4PSS/btstlLsPOP4/6xu6ORnTTru4rdVo4Mxo80/img.png)
문제 18-1 문제 1 아래에서 보이는 main 함수에서 물음표 ???을 대신할 수 있는 포인터 변수를 선언해보자. int main(void) { int * arr1[5]; int *arr2[3][5]; ??? = arr1; ??? = arr2; . . . . } 참고로 이 문제는 난이도가 조금 높은 편이다. 이번 Chapter의 내용을 잘 이해한 상태에서 적절히 응용을 해서 해결해야 하는 문제이기 때문이다. 그렇다고 해서 그냥 답을 봐버리면 의미 없는 문제가 될 것이다. 고민해서 해결하자! 그러면 마음속 깊이 포인터를 정복했다는 뿌듯함이 밀려올 것이다. 정답 arr1은 int형 포인터 변수로 이루어진 배열, 즉 포인터 배열이다. 1차원 배열이고, int형 싱글 포인터 변수를 가리키므로 arr의 포인터 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bHyJCk/btss3WpWRXG/1NucoZMHYk53SSdzZjlsLK/img.png)
문제 17-1 다음과 같이 두 개의 int 형 포인터 변수와 길이가 5인 int 형 배열을 선언한다. int *maxPtr; int *minPtr; int arr[5]; 그리고 MaxAndMin이란 이름의 함수를 정의하고 이를 호출하면서 위의 배열과 두 포인터 변수에 대한 정보를 저장하자. 어떠한 정보를 어떻게 전달할지는 여러분이 결정할 몫이다. 그리고 함수호출이 완료되면, 포인터 변수 maxPtr에는 가장 큰 값이 저장된 배열요소의 주소 값이, minPtr에는 가장 작은 값이 저장된 배열요소의 주소 값이 저장되어야 한다. #include void MaxAndMin(int *arr, int **maxPtr, int **minPtr) { int *max; int *min; max = &arr[0]; min..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KZPpc/btssYTfyb43/uzEatiSsjs5NeBBSfmlyb0/img.png)
문제 16-1 문제 1 가로의 길이가 9, 세로의 길이가 3인 int 형 2차원 배열을 선언하여 구구단 중 2단, 3단, 4단을 다음과 같이 저장하자. 그리고 제대로 저장이 되었는지 확인하기 위한 출력을 진행하는 예제를 작성해보자. #include int main(void) { int arr[3][9]; for(int i=2;i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/p4nLY/btss3J4hB3Y/kPNfuJ7iz5u2Phe82OK2ak/img.png)
도전 1 길이가 10인 배열을 선언하고 총 10개의 정수를 입력받아서, 홀수와 짝수를 구분지어 출력하는 프로그램을 작성해 보자. 일단 홀수부터 출력하고 나서 짝수를 출력하도록 하자. 단, 10개의 정수는 main 함수 내에서 입력 받도록 하고, 배열 내에 존재하는 홀수만 출력하는 함수와 배열 내에 존재하는 짝수만 출력하는 함수를 각각 정의해서 이 두 함수를 호출하는 방식으로 프로그램을 완성하자. #include void PrintHol(int n1[],int len) { printf("홀수 출력 : "); for(int i=0;ii&1; printf("%d",result); } printf("\n"); } int main(void) { int n = 0; scanf("%d",&n); PrintToBina..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JJvoj/btssVVjVQoT/StZqTV6yrEzqgCqQQggzM1/img.png)
문제 14-1 문제 1 변수 num 에 저장된 값을 제곱을 계산하는 함수를 정의하고, 이를 호출하는 main 함수를 작성해보자. 단, 여기서는 다음 두 가지 형태로 함수를 정의해야 한다. Call-by-value 기반의 SqareByValue 함수 Call-by-reference 기반의 SqareByReference 함수 #include void SquareByValue(int n) { n*=n; printf("In SquareByValue : %d\n",n); } void SquareByReference(int *m) { *m = (*m)*(*m); } int main(void) { int n=0; scanf("%d",&n); SquareByValue(n); printf("Main_SquarByValu..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/boztbW/btssTozGKtv/BzSHWofZUscUvER97PPc1k/img.png)
문제 13-1 문제 1 길이가 5인 int형 배열 arr을 선언하고 이를 1,2,3,4,5로 초기화한 다음, 이 배열의 첫 번째 요소를 가리키는 포인터 변수 ptr을 선언한다. 그 다음 포인터 변수 ptr에 저장된 값을 증가시키는 형태의 연산을 기반으로 배열요소에 접근하면서 모든 배열요소의 값을 2씩 증가시키고, 정상적으로 증가가 이루어졌는지 확인하는 예제를 작성해보자. #include int main(void) { int arr[5] = {1,2,3,4,5}; int * ptr = &arr[0]; for(int i=0;i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dKNttI/btssUJDbEUt/FK8l9brdwNYp3pPKKdviVK/img.png)
문제 12-1 문제 1 아래의 예제 실행 시 변수와 포인터 변수의 관계를 그림을 그려서 설명해보자. 또한 출력의 결과도 예상해보자. #include int main(void) { int num = 10; int * ptr1 = # int * ptr2 = ptr1; (*ptr1)++; (*ptr2)++; printf("%d\n",num); return 0; } 문제 2 int 형 변수 num1과 num2를 선언과 동시에 각각 10과 20으로 초기화하고, int 형 포인터 변수 ptr1과 ptr2를 선언하여 각각 num1과 num2를 가리키게 하자. 그리고 이 상태에서 포인터 변수 ptr1과 ptr2를 이용해서 num1의 값을 10 증가시키고, num2의 값을 10 감소시키자. 이제 두 포인터 변수 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/biT7E6/btssToTNDGP/Lc8JRUM5bo6wqwuxNpHOTk/img.png)
문제 11-1 문제 1 길이가 5인 int형 배열을 선언해서 프로그램 사용자로부터 총 5개의 정수를 입력받자! 그리고 입력이 끝나면 다음의 내용을 출력하도록 예제를 작성해 보자. 입력된 정수 중에서 최댓값 입력된 정수 중에서 최솟값 입력된 정수의 총 합 #include int main(void) { int arr[5]; for(int i=0;i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pI6vN/btssVK9ADQZ/WKgAxbrtSm2BpL0gMkSYj1/img.png)
도전 1 10진수 정수를 입력 받아서 16진수로 출력하는 프로그램을 작성해 보자. 이는 서식문자의 활용에 대한 문제이므로 쉽게 해결할 수 있을 것이다. #include int main(void) { int n = 0; scanf("%d",&n); printf("%x\n",n); return 0; } 도전 2 프로그램 사용자로부터 두 개의 정수를 입력 받아서 구구단을 출력하는 프로그램을 작성해 보자. 예를 들어서 프로그램 사용자가 3과 5를 입력하면 3단, 4단, 5단이 출력되어야 하고, 2와 4를 입력하면 2단, 3단, 4단이 출력되어야 한다. 단 한가지 조건이 있다. 사용자는 두 개의 숫자를 입력할 때에 입력 순서에 자유로워야 한다. 즉, 3과 5를 입력하건 5와 3을 입력하건 프로그램은 같은 결과를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cmtMV6/btspmLdpLnq/VUYxbhw0qDZja8TpGXNZb0/img.png)
오늘은 100문100답에 해당하는 페이지인 100answers.html 파일을 수정하였다. 사진파일을 옮기지 못해서 travel.html 파일은 다음번에 수정하기로 하였다. 100answers.html 소스코드 About Minwoo Name Contacts School 100Answers Travel 100 Questions & 100 Answers 당신은 왜 100문 100답을 시작했나? 나를 나타내는 여러가지 방법들 중 하나라서 100문 100답을 하기로 함. 이름(한글/한자/영어) 이 민 우 LEE MIN WOO 李旼宇 성별 남자 생년월일 2002.11.19 혈액형 RH+ B 키, 몸무게 177cm, 71kg 발 사이즈 275mm 시력 r : -8, l : -7.5 별명 뚜굴이 내 장점 꼼꼼함, ..