윤성우의 열혈 c 프로그래밍 강의 - yunseong-uui yeolhyeol c peulogeulaeming gang-ui

열혈 C 프로그래밍 강의

: 20) 도전 프로그래밍3 / 소스코드 및 해설

윤성우의 열혈 c 프로그래밍 강의 - yunseong-uui yeolhyeol c peulogeulaeming gang-ui

안녕하세요.

열혈 C 프로그래밍 강의 등

IT 진로 및 취업 상담을 전문적으로 해드리고 있는

KG 아이티뱅크 조정훈 선생님입니다.

오늘은 상담이 많았어서 포스팅이 늦었습니다.

늦은 만큼 또 열심히 달려 보겠습니다.

(1편 C언어란? & C언어 시작하기 ☜ 클릭,

2편 프로그램의 기본 구성 / printf ☜ 클릭,

3편 변수와 연산자 / 관계, 논리, 콤마 연산자, 우선순위 결합방향, scanf 키워드 ☜ 클릭,

4편 데이터 표현방식의 이해 / 진수변환, 정수, 실수, 비트 연산자 ☜ 클릭,

5편 상수와 기본 자료형 / sizeof, unsigned, 리터럴 상수, 심볼릭 상수, const ☜ 클릭,

6편 printf, scanf 함수 정리하기 / 필드정렬, %s, %d, %e, %c, %f ☜ 클릭,

7편 반복실행을 명령하는 반복문 / while, do, for ☜ 클릭,

8편 조건에 따른 흐름의 분기 / if, else, else if, break, continue, switch, goto ☜ 클릭,

9편 함수 / 전달인자, 반환값, 지역변수, 전역변수, static 변수, register 변수, 재귀함수 ☜ 클릭,

10편 도전 프로그래밍 정답 소스코드 및 풀이 ☜ 클릭,

11편 1차원 배열 / arr, str, sizeof, printf 심화 ☜ 클릭,

12편 포인터의 이해 / 포인터 변수, 널 포인터 ☜ 클릭,

13편 포인터와 배열 함께 이해하기 / 상수 포인터, 변수 포인터, 포인터 연산, 문자열 포인터, 포인터 배열 ☜ 클릭,

14편 포인터와 함수에 대한 이해 / 상수포인터, 변수포인터, 배열, scanf, const ☜ 클릭,

15편 도전! 프로그래밍 2 / 소스코드 및 해설 ☜ 클릭,

16편 다차원 배열 / 2차원 배열, 3차원 배열 ☜ 클릭,

17편 포인터와 포인터 / 이중 포인터, 삼중 포인터, 다중 포인터 ☜ 클릭,

18편 다차원 배열과 포인터의 관계 ☜ 클릭,

19편 함수 포인터와 void 포인터 / argc, argv, main함수, cmd, 명령프롬프트 ☜ 클릭)

책 내용을 보면 이해가 되다 가도

직접 문제를 풀려면 엄청 머리가 아플 텐데

그럼에도 불구하고 제대로 공부하기 위해서는

C언어 한 문제를 풀더라도

완벽하게 이해를 하고 넘어가야 합니다.

도전1.

길이가 4x4인 int형 2차원 배열을 선언하고, 

모든 요소를 아래 그림의 왼쪽에 있는 형태와

동일하게 초기화하자.

그리고 배열의 요소들을

오른쪽 방향으로 90도씩 이동 시켜서

그 결과를 출력하는 프로그램을 작성해 보자.

위 코드는 포인터 배열을 쓰지 않았기에

for문을 계속 적어줬다.

하지만 로테이트 (for) 부분을

함수로 선언하고

2차원 배열 포인터를 이용하면

코드가 훨씬 깨끗해진다.

팁을 드리자면

각 필드의 값들이 어떻게 움직이는지

잘 보면 알 수 있다.

첫 번째 4x4 에서 0,0 이

2번째 4x4에서 0,3으로 움직이는 것을

볼 수 있다.

이런 식으로 값들이

어떤 좌표에서 어떤 좌표로 움직이는지

확인하면 for문을 어떤 식으로 돌려야 할지

감이 잡히게 된다.

성심성의껏 도와줄 수는 있지만

소스 코드는 직접 짜보는 것이

실력을 쌓는데 있어서

가장 좋은 방법이다.

P.S

만약 진~짜 소스 코드가 필요하시다면

공감 클릭과 즐겨찾기(북마크)를 해 주시고

댓글을 달아주시면 보내드리겠습니다.

[ 출처 ] 윤성우 열혈 C 프로그래밍 Chapter 01. C언어란? & C언어 시작하기

[ 작성자 ] 문화일상