안녕하세요 강사님 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로 나오는게 맞을까요? 감사합니다.
안녕하세요 강사님 단항 증감 연산자 부분에서 강의에서 풀어주신 예제에 대해서 질문있습니다. 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 만 남는다는게 이상한데 맞을까요?
안녕하십니까? 강사님! fread함수의 반환자료형이 size_t로 되어 있는데 fread함수의 반환값을 받는 변수의 자료형을 size_t 변수명; 이런식으로 변수를 정의해도 문제가 없는지 궁금합니다. 그리고 int 나 long 등의 변수명을 (size_t)변수명; 으로 강제형변환 해도 문제가 없는지 궁금합니다. 수고하십시오
이중 for문 별찍기 예제가 잘 이해 되지않아서 별이 아닌 값을 출력하는것으로 바꿔서 실행했습니다 i 의 값은 그냥 0,1,2,3,4 로 나오는데 j 값은 01, 1 / 02,12,2 로 다른 형태로 나오네요 j이 0~4까지 증가하면서 i와 같아지기전까지 ( j < i ) 비교하게 되면서 비교되는 i값이 같이 나오는건가요?
질문드립니다. 1.size_t를 하시는 이유는 nsiez처럼 예외처리를 위해서 표시하는 건가요? 문제에서 첫번째 매개변수의 메모리 크기가 되도록 구현하기 위해서 사용하는 건가요? 해당 for문만(strlen 사용 없이)위에 작성하더라도 구현은 되는 것으로 처음에 작성했습니다. 그렇게 해도 Deepcopy에는 어긋나는게 없는지 궁금합니다. 만약 위 사진과 같이 return을 하면 지역 변수 주소 반환 오류에 해당하나요? 여기서 szBufferDst는 주소상수 즉 &szBufferDst[0]이 기준요소 이므로 위에 함수에서 포인터를 붙여서 사용하는 건가요? 약 반나절 동안 고민해서 풀어봤습니다만 속이 시원하게 풀리지 않네요 ㅠㅠ 제가 이해를 잘한건지 궁금해서 오늘은 질문이 조금 많습니다. 양해부탁드려요. 🤓
강사님 항상 좋은 강의 제공해주셔서 정말 감사합니다 if문 중첩 부분 필 수 실습 문제 첫번째 문제에 관하여 질문 드릴 것이 있습니다. 저 같은 경우는 아래와 같이 우선 20세 이상이냐 여부를 기준으로 2분할 하면서 들어갔는데, 답은 잘 나오는것 같습니다. 근데 혹시나 제가 잘못 생각한 부분이 있을지 강사님께 확인받고자 질문글 올립니다. 새해 복 많이 받으세요! 감사합니다.
이 사진의 노란색 형광펜 화살표 부분에 대해서 질문드립니다. 맨 마지막 강의 부분에서 pszHeap이 가지고 있던 위치정보가 동적할당 한 부분의 기준 요소의 주소였는데 strcpy_s를 사용함으로써 pszBuffer가 가지고 있던 위치 정보가 저장되었다고 생각했습니다. 그래서 제 생각에는 동적할당한 부분에서 출발이 아니라 pszHeap에서 부터 형광펜으로 szBuffer의 기준 요소로 가는 게 맞다고 생각합니다! 제가 이해한 것이 맞는지 확인 부탁드립니다.
강사님 다름이 아니라 인덱스 검색의 SearchByIndexAgeRange에서 작은 버그가 있어서 해당 내용 공유 드립니다. 검색 조건을 리스트에서 작은 값의 범위로 지정을 했을 시 아래 해당 코드에서 length 가 최소 값이 1이 되므로 항상 리스트의 작은 값이 출력이 되는 버그가 있습니다. 동작에 대한 예시 화면입니다. 따라서 length 를 구한 다음 리스트에서 해당 USERDATA의 age 값을 max 값과 비교를 해서 max 값보다 작을 경우에만 해당 코드들이 동작하게 되어야 하는 것이 맞는 것 같습니다. 다음과 같이 코드 수정 시 동작 화면입니다.
안녕하세요 강사님 [필수 실습 문제] 세 정수 총합 계산하기 (누산)에서 강사님께서는 int input, total; 이렇게 해당 변수를 0으로 초기화하지않고 ctrl+F5로 실행을 시키셨더니 아래와 같이 쓰레기 값이 나오셨는데 제가 할때는 Total 값이 6으로 잘 출력되더라구요 제가 이전 코드에서 정답 코드로 실행을 한번 시키긴했는데 그값이 계속 유지되어 Total값이 6으로 출력이 되는 건가요? 그리고 강사님처럼 메모리창을 띄어서 보려고 Total 변수에 중단점(F9) 설정 후 디버깅(F5)를 눌렀더니 함수는 실행되어 Total : 6이라는 값이 출력은 되지만 "디버기가 실행 중일 때에는 사용할 수 없습니다. "라고 뜨고 또한 위쪽 메뉴가 모여있는 곳에서 디버그(D) - 창(W)을 눌러봐도 메모리창을 실행할 수 있는 메뉴가 보이지 않습니다. 이번 경우에도 이렇고 예전에는 가끔씩 이러던데 이러한 이유가 뭐고 어떻게하면 해결 할 수 있을까요?
안녕하십니까? 강사님! "콘솔 I/O 버퍼 메모리 추적하기" 강의 내용 중 아래와 같은 코드가 나오는데 잘 이해가 안됩니다. print_iobuf((IOBUF_TEST*)fp); 여기에서 fp 파일 구조체를 IOBUF_TEST* 변수로 해석하겠다는 뜻인지요? IOBUF_TEST는 구조체 자료형인데 포인터 변수로 해석한다는게 잘이해가 안됩니다. 자세한 설명 좀 부탁드립니다 수고하십시오.
선생님께서 말씀하신 대로 메모리 디버깅을 진행하였습니다. while문을 지날 때마다 기준 요소의 값 + 1 더하여 이동하는 것을 잘 볼 수 있었습니다. 그런데 메모리 디버깅을 보는 와중에 저렇게 붉은색으로 표시되는 메모리 값들을 발견했습니다. 왜 이렇게 표시되는 건지 중요한 건가 싶어서 질문드립니다. 다음 강의에서 찾았습니다~! 🤓
안녕하세요 선생님 섹션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()의 차이점이 있을까요? 감사합니다.
코드를 작성하고 F5로 디버그를 하게되면 최종 결과값을 보여주기전에 콘솔창이 닫힙니다 crtl + F5(디버그하지 않고 시작)으로 하면 최종값까지 나온뒤 아무키를 눌러야 콘솔창이 닫힙니다 코드의 문제인가 싶어 검토하고 해설영상 보며 똑같이 타이핑을 해도 디버그를 하고 콘솔창이 뜨면 최종결과값이 뜨지않고 콘솔창이 닫힙니다 예로 뺄셈 연산 직접구하기에서 두 정수를 입력하는거까지는 잘 넘어가는데 뺄셈의 결과값이 출력되기전에 콘솔창이 닫혀버립니다 비쥬얼스튜디오의 설정이 무언가가 잘못되있는걸까요?