예전에 볼 때는 잘 몰랐는데. :) 1년 만에 다시 보니까, "그렇다. 당연한 말씀이다." 모두 당연하고 당연한 이치를 설명하시고, 그래서 강의해주시는 분도, 어렵지 않다고 여러번 말씀하시는 것이구나. 이해가 갑니다. 어려운 게 아니고 낯설고 익숙하지 않았던 것이었나봐요. 이제 1차원에서 2차원 변환, 2차원에서 1차원 변환. 기본 원리를 당연하게 받아들일 수 있고, 이렇게 도와주신 방장님 고맙습니다.
안녕하세요! 코드 입력해보다 궁금한 점이 생겨서요.. 285쪽의 예제처럼 하면 결과가 1행, 2행, 3행 모두 나오는데 왜 for 반복문의 시작조건인 y=0과 x=0을 빼서 앞에 먼저 선언하면 1행만 결과로 나올까요..?! for 반복문에서 시작조건이나 종결조건 등을 빼도 원래 같은 값이 나오지 않나요?
안쪽에 있는 반복문(x를 사용하는 반복문)에서 x = 0을 빼버리면 처음 한번은 정상 동작하지만 반복을 끝내고 바깥쪽에 있는 반복문(y를 사용하는 반복문)으로 이동해서 y++를 하고 나서 다시 안쪽 반복문으로 왔을 때 x가 4인 상태로 진입하기 때문에 종결조건인 x < 4가 거짓이 되어 아무런 일을 하지 못하고 다시 y++로 이동하게 됩니다. 따라서 처음 한 번만 정상적으로 출력되고 그 다음부터는 안쪽 반복문이 무조건 거짓이 되어서 처리가 안되는 것입니다.
네~ 유효한 시작값은 0입니다. 하지만 개발자의 의도에 따라 -1, -2처럼 다른값을 사용할수 있습니다. 물론 이렇게 사용하려면 개발자가 메모리(스택 프레임)에 대한 이해를 잘 하고 있어야 하고 계획을 잘 세워서 사용해야 합니다. 따라서 입문자는 그냥 0부터 시작한다라고 생각하시면 됩니다.
북마크 35:36 2차원 배열을 1차원 배열로 35:36 2차원 배열을 1차원 배열로 39:13 행번호를 찾는 방법 39:13 행번호를 찾는 방법 41:34 열번호를 찾는 방법 41:34 열번호를 찾는 방법 46:45 1차원 데이터를 2차원 데이터로 46:45 1차원 데이터를 2차원 데이터로
배열이 0부터 시작하는 거 까먹고 왜 이렇게 나오는지 한참 고민했네요; 첨 에 바둑 돌은 순수 행열값 이고 표기할때는 x-1, y-1해서 표기하는거였네요 이제 알았어요
ㅎㅎ 파이팅입니다 :)
예전에 볼 때는 잘 몰랐는데. :)
1년 만에 다시 보니까,
"그렇다. 당연한 말씀이다." 모두 당연하고 당연한 이치를 설명하시고, 그래서 강의해주시는 분도, 어렵지 않다고 여러번 말씀하시는 것이구나. 이해가 갑니다. 어려운 게 아니고 낯설고 익숙하지 않았던 것이었나봐요. 이제 1차원에서 2차원 변환, 2차원에서 1차원 변환.
기본 원리를 당연하게 받아들일 수 있고, 이렇게 도와주신 방장님 고맙습니다.
맞습니다~ 물론 어려운 것도 있겠지만 익숙하지 않아서 더 어렵게 느끼는 것도 많습니다. 그래서 반복해서 보라고 권하는 것입니다~ :)
이제부터 뭔가 알고리즘 같은 게 많이 있네요 ㅋㅋ, 그에 따른 난이도와 매력이 있지만 ㅋㅋ
그리고 그 다음이 말로만 듣던 포인터라는 거군요 진정한 c 언어의 시작이라는 ㄷㄷ
지금 보시는 영상 끝까지 보시고 제가 복습용으로 만들어 놓은 금배씨로 다시 한 번 보면 포인터가 더 재미있어질거에요~ :)
56분 코드에서 y가 행을 나타내고, x가 열을 나타내니까,
중간 printf에서 x, y 대신에 y, x 가 되어야 하는 게 아닐까요?
ㅎㅎ 그렇네요. 제가 편집할 때 착각했나 보네요. 행이 y이고 열이 x니 y, x 순서가 되는게 맞습니다~ :)
@@tipsware ㅎㅎㅎ저도 이거땜에 헷갈렸는데^^
정말 고생많으셨습니다.감사합니다.
연습문제 Q4 푸는데 바둑돌이 0번부터 시작하는 걸 까먹고 40분 넘게 끙끙댔네요 ㅋㅋ쿠ㅜ C언어는 0부터... 기억하겠습니다!
화이팅입니다! ㅎㅎ
안녕하세요! 코드 입력해보다 궁금한 점이 생겨서요.. 285쪽의 예제처럼 하면 결과가 1행, 2행, 3행 모두 나오는데 왜 for 반복문의 시작조건인 y=0과 x=0을 빼서 앞에 먼저 선언하면 1행만 결과로 나올까요..?! for 반복문에서 시작조건이나 종결조건 등을 빼도 원래 같은 값이 나오지 않나요?
안쪽에 있는 반복문(x를 사용하는 반복문)에서 x = 0을 빼버리면 처음 한번은 정상 동작하지만 반복을 끝내고 바깥쪽에 있는 반복문(y를 사용하는 반복문)으로 이동해서 y++를 하고 나서 다시 안쪽 반복문으로 왔을 때 x가 4인 상태로 진입하기 때문에 종결조건인 x < 4가 거짓이 되어 아무런 일을 하지 못하고 다시 y++로 이동하게 됩니다. 따라서 처음 한 번만 정상적으로 출력되고 그 다음부터는 안쪽 반복문이 무조건 거짓이 되어서 처리가 안되는 것입니다.
행과 열 x, y or y, x 설명할때 너무 버벅이셔서 잘 이해를 못했는데,, 어쨌거나 y,x 순서로 배열을 선언하는게 더 좋다 라고 기억하고 넘어가면될까요?? 좋은강의 잘 보고갑니다~
ㅎㅎ 네~ x,y로 사용하면 근접 메모리 연산이 비효율적으로 바뀌어서 좋지 않다는 것만 기억하시면 됩니다. 즉, y, x로 사용하는 것이 근접 데이터 연산에 좋다는 것만 기억하시고 넘어가면 됩니다.
[ ]안에 숫자가 0부터 시작인건가요?
네~ 유효한 시작값은 0입니다. 하지만 개발자의 의도에 따라 -1, -2처럼 다른값을 사용할수 있습니다. 물론 이렇게 사용하려면 개발자가 메모리(스택 프레임)에 대한 이해를 잘 하고 있어야 하고 계획을 잘 세워서 사용해야 합니다. 따라서 입문자는 그냥 0부터 시작한다라고 생각하시면 됩니다.
북마크
35:36 2차원 배열을 1차원 배열로
35:36 2차원 배열을 1차원 배열로
39:13 행번호를 찾는 방법
39:13 행번호를 찾는 방법
41:34 열번호를 찾는 방법
41:34 열번호를 찾는 방법
46:45 1차원 데이터를 2차원 데이터로
46:45 1차원 데이터를 2차원 데이터로
char data [5][4]는 5행 4열이라고 하셨는데 char data[4][5]는 왜 4행 5열이 아니라 똑같은 4열 5행이고 단순히 묶는 방법이 바뀌는 것인가요?
해당 영상에서도 설명하지만 열, 행으로 묶든 행, 열로 묶든 그것은 개발자가 선택하면 됩니다. 다만 묶는 방법에 따라 내부적으로 계산되는 효율성이 달라지기 때문에 주의하라는 내용입니다~
어.. 어렵군요 ㅎㅎ
음...강의는 되게 잘만드신거 같은데 종종 버벅거리시니까 그거에 신경이 써지네..
저 동영상 강좌 녹화할 때 중간에 끊어서 녹화하고 편집을 했어야 하는데 전부 한번에 녹화하고 올린 거라서 ㅎㅎ 실수가 좀 있었네요;;