묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨독하게 시작하는 C 프로그래밍
달팽이 문제] 설명을 듣지 않고 구현을 해봤습니다.
도전정신 때문에 설명 듣기 전에 구현을 했더니 강사님 의도와 다르게 구현되었지만.... 1시간 헤딩한 시간이 아까워서 남겨둡니다아~~두 가지 접근방법이 생각났는데, 그 중 하나는 이동 불가능할때마다 이동 방향을 바꾼다는 간단한 논리로 위 코드로 구현해봤고,두 번째로 생각난 접근방법은 위 그림처럼 블럭이 5, 4, 4, 3, 3, 2, 2, 1, 1 순으로 첫번째를 제외한 블럭 수가 2개씩 묶인다는 점이 생각났는데, 첫 번째 블록이 규칙에 살짝 어긋난다는 점에서 구현이 복잡해질 것 같아서 포기했습니다. 설명해주신 방법대로 위 그림에서의 블럭이 2개 합쳐진 채로 규칙을 찾았으면 간단하게 구현 가능했을 것 같습니다.설명해주신 방법으로도 구현을 해봐야겠네요..
-
해결됨독하게 시작하는 C 프로그래밍
숙제해왔습니다
25번 반복에 끝낸다는 방향을 잡고 시작했습니다.9, 7, 5, 3, 15/4, 4/3, 3/2, 2/1/ 1/0+/+, -/-, +/+, -/-, +/+그리고 행 증가, 열 증가인지 파악한 후에 코딩했습니다.다른 모범 답안 보니까 저랑 달라서 자신감이 뚝 떨어졌습니다.제가 생각해낸 패턴을 코드로 하나도 구현하지 못한거 같아요 예제 코드보니까... 예제 코드 보면서 현타 많이 왔는데 다시 처음부터 한다고 생각하고 코드짜보겠습니다.
-
해결됨독하게 시작하는 C 프로그래밍
quick sort 부분 구현했습니다.
pivot이 되는 5보다 큰 값은 오른쪽의 작은 값과 교환하면서 마지막에는 pivot의 위치도 바꾸어 주었습니다. 이후 코드를 작성한다면 pivot의 값을 다시 0과 high+1로 또 for문을 작성해야 하는데 코드가 무자비하게 길어집니다. 솔직하게 for문 안에서 모든걸 끝내기에는 제가 너무 부족한거같습니다. 이후 배우는 함수에 피벗이나 리스크 길이 등 매개변수로 받아서 리스트 길이가 0이나 1이 될때까지 반복하고 값을 교환해주는 것도 함수로 만들어서 처리하면 좋을 것 같습니다. 코드가 복잡해질수록 너무 어렵네요. 이정도 구현한것으로 만족하겠습니다
-
해결됨독하게 시작하는 C 프로그래밍
선택정렬 if 교환
소스코드 18라인에 if로 j가 변환할떄만 바꿔주신다고 했는데 변환하지 않아도 자기자신끼리 교환하는 거니까 결과값이 달라지진 않잖아요. 근데도 조건문을 사용하는게 더 좋은 코드인건가요?
-
해결됨독하게 시작하는 C 프로그래밍
질문
수업듣다가 말씀하신 부분중에 궁금한부분이 있어서요.혹시 스태틱바인딩, 다이나믹 바인딩 관해서 더 알아보고 싶은데, 설명을 어디강의에서 들을 수 있나요 ~~~?????
-
해결됨독하게 시작하는 C 프로그래밍
메모리의 주소가 다르게 출력됩니다.
디버깅 모드로 추적하면서 따라가던 중 콘솔에 출력되는 pszdata의 주소가 &pszdata로 추적하였을 때 나오는 메모리 주소와 다른 값이 출력됩니다 szbuffer는 같은 값이 나왔습니다 .. 왜 그런걸까요 ..??
-
해결됨독하게 시작하는 C 프로그래밍
디버그 모드 실행
안녕하세요코드에 오류가 있을 시 디버그모드로 실행해서 분석을 하시는데 잘못된 코드에서 디버그모드를 실행시키면 마지막으로 성공한 빌드를 실행하시겠습니까? 라는 문구만 뜨고 디버그모드는 실행이 되지 않습니다.강의 속 처럼 디버그모드에서 오류를 창르여면 어떻게 해야하나요?
-
해결됨독하게 시작하는 C 프로그래밍
sizeof 연산자 질문
안녕하세요 강사님sizeof 연산자 강의에서 예제로 들어주신 코드 관련해서 질문이 있습니다.예제를 실행시키면 실행은 잘되는데요코드를 입력했더니 각 행마다 초록색 밑줄이 뜨고 해당 내용을 살펴봤더니 다음과 같이 뜨는데 무엇이 문제여서 뜨는 걸까요? 그런데 또 실행은 잘되는데 문제가 없는걸까요?코드 8행의 printf("%d, %d\n", sizeof(123.456F), sizeof(123.45)); 결과가 4, 8로 나오는데 이것은 sizeof가 컴파일 타임 연산자로 해당 문자의 자료형의 크기만 반환하기에 sizeof(123.456F)의 123.456F가 Double형식으로 8byte, sizeof(123.45)의 123.45가 float형식이여서 4byte로 인식되어서 결과가 4,8로 나오는게 맞을까요?감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
단항 증/감 연산자
안녕하세요 강사님 단항 증감 연산자 부분에서 강의에서 풀어주신 예제에 대해서 질문있습니다. data = ++x + ++y + x--;를 풀어쓰면 data = ++x + ++y + x; x--; 가 된다고 하셨는데요 제가 캡처한 그림의 빨간 동그라미 부분(x)이 제가 아래에 풀어쓴대로 변형되어서 나온게 맞을까요? x--; 는 단항 증감연산자의 후위식 표기이고 연산의 우선순위는 한 개의 구문(세미콜론이 다 끝나고 나서 진행 됨) x--;는 x-=1; x=x-1; 와 같기에 data = ++x + ++y +x-1; 과 같이 쓸 수 있고 이때 x의 값에서 -1 이라는 연산의 우선 순위가 구문이 끝나고 적용되므로 x만 남고 후위식은 다음 행으로 옮겨진다data = ++x + ++y +x;x--; 빨간색 x만 남는다는게 이상한데 맞을까요?
-
해결됨독하게 시작하는 C 프로그래밍
size_t 자료형 관련 질문
안녕하십니까? 강사님!fread함수의 반환자료형이 size_t로 되어 있는데fread함수의 반환값을 받는 변수의 자료형을 size_t 변수명;이런식으로 변수를 정의해도 문제가 없는지 궁금합니다.그리고 int 나 long 등의 변수명을 (size_t)변수명; 으로 강제형변환 해도 문제가 없는지 궁금합니다.수고하십시오
-
해결됨독하게 시작하는 C 프로그래밍
이중 for 문 별찍기 예제 관련 질문
이중 for문 별찍기 예제가 잘 이해 되지않아서 별이 아닌 값을 출력하는것으로 바꿔서 실행했습니다 i 의 값은 그냥 0,1,2,3,4 로 나오는데 j 값은 01, 1 / 02,12,2 로 다른 형태로 나오네요 j이 0~4까지 증가하면서 i와 같아지기전까지 ( j < i ) 비교하게 되면서 비교되는 i값이 같이 나오는건가요?
-
해결됨독하게 시작하는 C 프로그래밍
문자(배)열 복사하는 함수 만들기
질문드립니다. 1.size_t를 하시는 이유는 nsiez처럼 예외처리를 위해서 표시하는 건가요?문제에서 첫번째 매개변수의 메모리 크기가 되도록 구현하기 위해서 사용하는 건가요?해당 for문만(strlen 사용 없이)위에 작성하더라도 구현은 되는 것으로 처음에 작성했습니다. 그렇게 해도 Deepcopy에는 어긋나는게 없는지 궁금합니다.만약 위 사진과 같이 return을 하면 지역 변수 주소 반환 오류에 해당하나요? 여기서 szBufferDst는 주소상수 즉 &szBufferDst[0]이 기준요소 이므로 위에 함수에서 포인터를 붙여서 사용하는 건가요? 약 반나절 동안 고민해서 풀어봤습니다만 속이 시원하게 풀리지 않네요 ㅠㅠ 제가 이해를 잘한건지 궁금해서 오늘은 질문이 조금 많습니다. 양해부탁드려요.🤓
-
해결됨독하게 시작하는 C 프로그래밍
if문 중첩 버스요금 문제1
강사님 항상 좋은 강의 제공해주셔서 정말 감사합니다if문 중첩 부분 필 수 실습 문제 첫번째 문제에 관하여 질문 드릴 것이 있습니다.저 같은 경우는 아래와 같이 우선 20세 이상이냐 여부를 기준으로 2분할 하면서 들어갔는데, 답은 잘 나오는것 같습니다. 근데 혹시나 제가 잘못 생각한 부분이 있을지 강사님께 확인받고자 질문글 올립니다. 새해 복 많이 받으세요! 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
문자(배)열 복사 strcpy_s
이 사진의 노란색 형광펜 화살표 부분에 대해서 질문드립니다.맨 마지막 강의 부분에서 pszHeap이 가지고 있던 위치정보가 동적할당 한 부분의 기준 요소의 주소였는데 strcpy_s를 사용함으로써 pszBuffer가 가지고 있던 위치 정보가 저장되었다고 생각했습니다.그래서 제 생각에는 동적할당한 부분에서 출발이 아니라 pszHeap에서 부터 형광펜으로 szBuffer의 기준 요소로 가는 게 맞다고 생각합니다!제가 이해한 것이 맞는지 확인 부탁드립니다.
-
해결됨독하게 시작하는 C 프로그래밍
문자형(C언어 문자형)
C언어 자료형에는 정수형, 실수형, 유도형, 함수형, 무치형이 있다고 하셨는데 그럼 문자형은 배열 연산자 []가 있으니까 따로 생각 안하고 유도형에 포함되는 건가요?
-
해결됨독하게 시작하는 C 프로그래밍
[필수 실습 문제] 세 정수 총합 계산하기 (누산)
안녕하세요 강사님[필수 실습 문제] 세 정수 총합 계산하기 (누산)에서 강사님께서는 int input, total; 이렇게 해당 변수를 0으로 초기화하지않고 ctrl+F5로 실행을 시키셨더니 아래와 같이 쓰레기 값이 나오셨는데제가 할때는 Total 값이 6으로 잘 출력되더라구요제가 이전 코드에서 정답 코드로 실행을 한번 시키긴했는데 그값이 계속 유지되어 Total값이 6으로 출력이 되는 건가요?그리고 강사님처럼 메모리창을 띄어서 보려고 Total 변수에 중단점(F9) 설정 후 디버깅(F5)를 눌렀더니 함수는 실행되어 Total : 6이라는 값이 출력은 되지만"디버기가 실행 중일 때에는 사용할 수 없습니다. "라고 뜨고 또한 위쪽 메뉴가 모여있는 곳에서 디버그(D) - 창(W)을 눌러봐도 메모리창을 실행할 수 있는 메뉴가 보이지 않습니다.이번 경우에도 이렇고 예전에는 가끔씩 이러던데 이러한 이유가 뭐고 어떻게하면 해결 할 수 있을까요?
-
해결됨독하게 시작하는 C 프로그래밍
"콘솔 I/O 버퍼 메모리 추적하기" 강의 내용 관련 질문
안녕하십니까? 강사님!"콘솔 I/O 버퍼 메모리 추적하기" 강의 내용 중아래와 같은 코드가 나오는데 잘 이해가 안됩니다.print_iobuf((IOBUF_TEST*)fp);여기에서 fp 파일 구조체를 IOBUF_TEST* 변수로 해석하겠다는 뜻인지요?IOBUF_TEST는 구조체 자료형인데 포인터 변수로 해석한다는게 잘이해가 안됩니다.자세한 설명 좀 부탁드립니다수고하십시오.
-
해결됨독하게 시작하는 C 프로그래밍
포인터와 배열 호환의 대하여
선생님께서 말씀하신 대로 메모리 디버깅을 진행하였습니다.while문을 지날 때마다 기준 요소의 값 + 1 더하여 이동하는 것을 잘 볼 수 있었습니다.그런데메모리 디버깅을 보는 와중에 저렇게 붉은색으로 표시되는 메모리 값들을 발견했습니다.왜 이렇게 표시되는 건지 중요한 건가 싶어서 질문드립니다. 다음 강의에서 찾았습니다~!🤓
-
해결됨독하게 시작하는 C 프로그래밍
최대값 구하기 (함수)
선생님께서 사용자에게 입력 받는 함수 하나(UI) 최댓값을 구하는 함수 하나(기능) 해서 총 두 개의 함수로 이용해 봤습니다.제가 잘 이해하고 푼 건지 모르겠습니다.파일 주신 것을 보아도 이 실습에 관한 파일을 찾지 못해 질문 드립니다.
-
해결됨독하게 시작하는 C 프로그래밍
scanf_s와 gets_s()의 차이점
안녕하세요 선생님섹션9 형식 문자 기반 문자열 입력강의에서scanf_s와 get_s()의 차이점이 제가 이해하기론scanf_s는 함수를 작성하고 콘솔창이 생기고 값을 입력할때 값 입력 중간에 white space(스페이스바)를 입력하면 입력이 끊긴다.ex) 1. '안녕하세요' 는 입력이 되지만2. '안 녕하세요' 는 '안' 이라는 글자만 입력이 되고 끊긴다. 라고 이해를 했는데 맞을까요? get_s()는 이와 반대로 값 입력 중간에 white space(스페이스바)를 입력해도 입력이 유지된다. ex) 1. '안녕하세요' 는 입력 가능2. '안 녕하세요' 입력하면 '안 녕하세요' 라고 white space까지 입력이 된다.이게 맞을까요? 그리고 혹시 강사님께서 말씀해주신 것 이외에 scanf_s와 gets_s()의 차이점이 있을까요? 감사합니다.