묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
c언어 기출문제변형
36분45초. 출력값작성하는 문제입니다.X를 먼저 출력하면 기존의 20값이 출력되는게 아닌가요??순서상에서도 그렇구요..반영이 다된후에 X,Y값을 출력하는지 모르겠습니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
동영상 버그
동영상 재생이 제대로 보이지 않고 버그 현상이 반복 됩니다 한번쯤은 점검이 있어야 될 것 같네요
-
해결됨독하게 시작하는 C 프로그래밍
Null 역참조??
이게 무슨 오류인지 모르겠어요! 강사님은 안뜨셨는데 저는 뜨네요..
-
미해결홍정모의 따라하며 배우는 C언어
바이너리 파일 입출력하는 부분이 잘 이해가 안가요ㅠㅠ
이 강의에서 나온 3가지 버전에서 동작을 보면 구조체를 초기화한 내용을 텍스트 파일 안에 저장하고, 텍스트 파일의 내용을 변경하여 다시 읽어들인 다음에 콘솔창에 출력하는 것으로 이해했습니다. 이중포인터를 사용하는 부분은 잘 이해하진 못했지만 구조체 포인터로 하는 부분은 구현도 했구요. 근데 바이너리 파일의 경우에는 단순히 읽거나 쓰는 용도로 사용하는 것이지 별도의 파일 편집기로 내용을 수정하기가 거의 불가능하다고 생각하고 있었는데 제 생각이 틀린걸까요? 그냥 교수님이 쓰신 코드를 따라 쳐봤지만 이게 무슨 의미를 가지는 것인지 잘 이해가 안갑니다... 바이너리 파일 입출력을 사용하는 경우 read_books 함수의 사용처가 뭔가요?
-
미해결CUDA 프로그래밍 (5) - C/C++/GPU 병렬 컴퓨팅 - 아토믹 연산 atomic op
[30-4] hist-shared.cu 에서 질문있습니다.
"hist-shared.cu"의 다음 부분에서 질문있습니다.if(threadIdx.x < HIST_SIZE) { atomicAdd(&(hist[threadIdx.x]), s_hist[threadIdx.x]); }threadIdx.x는 0~31로 모두 다르기 때문에 병렬 연산이긴 해도, global memory에 있는 hist 배열의 서로 다른부분으로 write가 이루어진다고 생각했습니다. 따라서 서로 겹치는 위치가 없어서 atomic한 연산이 필요없을거라 생각했는데, atomic 연산이 없으면 결과가 이상하게 나오더라구요.. 혹시 왜 그런지 알 수 있을까요? 양질의 강의 제공해주셔서 감사합니다!
-
해결됨독하게 시작하는 C 프로그래밍
visual studio 2022 디버그 메모리창 질문
수업관련 내용이 아니라 죄송합니다만.. 디버그에서 메모리를 보려하면 이렇게 ?? ?? ?? ?? 만 나와서 메모리를 뜯어볼 수 없어서 너무 답답합니다.혹시 이를 해결할 방법을 아시는지 해서 질문 남겨봅니다..수업 잘 듣고 있습니다. 감사합니다..위는 제 코드인데변수 xds의 주소로 접근하면 아래처럼 나옵니다다른 상황에서도 이래서 변수로 접근하는 것이 어렵습니다..
-
해결됨독하게 되새기는 C 프로그래밍
큐의 배열을 넘겨도 정상작동합니다
예제를 거의 똑같이 구현했는데 환영큐로 구현을 한게 아닌 배열형태의 큐로 사이즈를 100을 줬는데 100개를 넘게 입력해도 정상작동을 합니다 왜 이런건가요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
문제 관련 추가질문입니다.
강의13분대 관련 질문입니다. public void paint(){ System.out.print("A");draw();} 여기서 draw();를 this draw(); 로 수정하게 되면 자식 draw가 아닌 부모 draw를 불러오나요? 강의 14분대 문제 질문입니다.A b = new B(1)을 통해 자식 클래스에서 public B(int i)를 불러왔으면 부모 클래스에서도 public A(int i)를 불러와야 하는것이 아닌가요? 이전 강의에서 파라미터가 있는 생성자 car(a,b)예제를 들고 설명을 해주실 때 그렇게 이해를 했는데 무슨차이인지 통 모르겠네요.. 17분대 specialDraw가 오류 나는 이유가 정확히 궁금해요A b = new B(1); 을 통해 업캐스팅을 통해 B를 명시해줬기 때문에 에러가 나는걸까요? 뭔가 명확히 갈증이 해소되지 않는느낌이라 답답하네요...ㅠ
-
미해결홍정모의 따라하며 배우는 C언어
scanf 와 const 변수의 관계
안녕하세요 교수님의 scanf 강의에서 입력받은 값의 주소를 이용하여 변수의 값을 업데이트하는 과정은 이해했습니다.다만 상수의 경우 컴파일러에게 해당 값은 바꿀 수 없다 라고 알려주는것으로 알고 있는데 scanf 함수를 통해서 값이 바뀌는걸 확인했습니다, 혹시 별도의 이유가 있을까요?
-
해결됨독하게 시작하는 C 프로그래밍
콘솔(Console)에 대하여 질문
안녕하세요 강의 정말 잘 보고 있습니다!Console과 관련하여 질문이 생겨 올립니다! 제가 나름대로 정의한 Console의 정의는 아래와 같습니다 과거에는 Console이라는 하드웨어가 존재하였다하지만 오늘날 말하는 Console은 물리적인 Console을 의미하는것보다는 모니터, 키보드, 마우스와 같이 시스템과 상호작용하는 입출력 환경 전체를 의미한다혹은 CLI를 통해 OS와 직접 상호작용 할 수 있는 Console(Terminal) Application을 의미하기도 한다( Application 단에 구현 ) 질문 ( 그림 참고 )"Console을 추상화한 것이 stdin, stdout다" 의 의미는 Console환경, 즉 모니터와 키보드를 추상화한것이 모니터는 stdout, 키보드는 stdin 파일이라고 이해해도 되는걸까요?해당 내용을 그림으로 정리해 보았습니다
-
해결됨Windows 시스템 프로그래밍 - 기본
강사님 dll 지연로딩 관련하여 질문 드립니다
강의 내용을 기반으로 제프리 리처 <Windows via C/C++> 을 읽으며 생긴 질문이 있어서 여쭤봅니다.5판 번역본 기준 730p 입니다. /DelayLoad:MyDll.dll <- 지연로딩할 dll을 사용하면 링커에게 "실행 모듈의 임포트 섹션으로부터 MyDll.dll 파일을 제거하여 프로세스를 초기화할 때 해당 DLL 을 암시적으로 로드하지 못하도록 한다. 라고 되어 있습니다. (730페이지 상단) 이후에 지연로드 된 함수가 호출되었을 때 해당 함수를 익스포트하고 있는 DLL 이 존재하지 않으면 __delayLoadHelper2() 는 exception 을 던진다고 나와있습니다. (730페이지 3번째 문단) 궁금한 점은 "임포트 섹션에서 MyDll.dll 제거할 때 해당하는 dll 이 없으면 링크타임이나 로드할 때 에러를 발생시키면 되는데 왜 굳이 런타임에 exception 을 던지는지?" 궁금합니다. 항상 유익한 강의 감사합니다 😄
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
2024년 2회 17번 재귀함수
재귀 함수로 계속 돌면 Char c = a 만 남고 if(idx <0) return""; 으로 빠져나오는거 아닌가요?ㅠidx : 0, c: a,seen[a]:falseidx : 1, c: b,seen[b]:false어떻게 나오는지 모르겠습니다.
-
해결됨독하게 되새기는 C 프로그래밍
캐너리비트에 관하여 질문
메모리의 주소값이 int자료형이면 4씩 증가하면서 저장될것같은데 캐너리비트를 넣는다면 더 증가하게 될텐데 릴리즈에서는 적용이 안되면 릴리즈모드에서는 스택메모리주소값이 4씩 증가하게 되는건가요? 그럼 디버그모드에서는 1mb만큼의 스택 메모리를 정확히 사용한다고 가정했을때 캐너리비트가 더 차지하게 되므로 오류가 발생하는건가요?64비트에서는 자동변수를 메모리에 저장할때 메모리값이 점점 커지는데 32비트와는 반대인건가요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
이번 강의 내용이 좀 많이 어렵네요..
이번 강의부분이 이해도가 너무 부족한거 같아서 두번정도 돌려들었는데도 통 이해가 안갑니다..우선 9분에 순서를 보자면main의 start를 먼저 출력하고ElectricCar의 생성자(이부분을 c에선 함수라고 했던가요..?)를 불러오고 extends의 car를 불러온 후 Car Created를 출력ElectricCar의 Electric Car created를 출력...End 이렇게 순서가 되나요?... 또한 startEngine는 왜 부모고 chargeBattery는 왜 자식인지 이 부분도 통 이해가 안가구요.. 또한 메서드는 이름이 같고 생성자는 이름이 다르다는 건 알겠습니다. 그 외 기능적으로는 차이가 없는건가요? 이전 강의의 if나 for문 같은경우엔 정말 쉽게 이해하면서 넘어갔는데 상속부분 들어오면서 이해도가 확 떨어져버리네요..
-
미해결홍정모의 따라하며 배우는 C언어
링크 오류
강의 중 링커가 저절로 연결되는 변수를 찾아준다고 말씀하셨는데 작성한 코드대로 작동하지 않습니다. 저 밑에 있는 두 개의 오류가 해결이 안 됩니다.
-
해결됨독하게 시작하는 C 프로그래밍
파일 입/출력 시 관여하는 컴퓨터 요소들 질문
안녕하세요 널널강사님! 우선 좋은 강의에 감사인사드립니다. 파일 입/출력 관련해서 질문이 있는데요! 파일 입/출력이 수행되는 과정에서 이 '과정'에 조금이라도 관여하는 컴퓨터 요소들(CPU, RAM, Kernel, ...)이 무엇인지가 궁금한데요.예를 들어, 아래와 같은 예졔 소스코드를 제가 디버그 모드로 실행해보았는데요.(참고로 MacOS에서 clang 컴파일러를 사용)#include <stdio.h> int main(void) { FILE* fp = NULL; fp = fopen("../TEST.txt", "w"); if (fp == NULL) { puts("Error: Failed to open file"); return -1; } fprintf(fp, "Hello"); fclose(fp); return 0; }어쨌건 위 소스코드가 하는 일은 "TEST.txt" 라는 파일을 생성하고 개방한 뒤, 해당 파일에 "Hello" 라는 문자열을 쓰는 로직이잖아요? 하지만 소스코드 레벨에서는 어쨌건 fp 라는 구조체 포인터를 할당하고 하는 과정에서 메모리(엄밀히 말하면 가상 메모리)를 사용하게 되고 있구요! 그러면 위 함수같이 순수하게 I/O 동작만 수행할 경우는 CPU는 전혀 관여하지 않고 유휴 상태라고 보면 되나요? 흔히, I/O Bound 작업에서는 CPU가 관여하는 부분이 없기 때문에 비동기로 처리한다고들 하는데.. 이 말은 I/O 작업에서는 CPU가 하나도 사용되지 않고 메모리와 파일 시스템과 상호작용하는 Kernel 정도만 사용한다고 보면 될까요? 약간 질문이 난해할 수 있을 것 같은데.. 답변 주시면 추가로 궁금한 점은 재질문 드리겠습니다!
-
미해결홍정모의 따라하며 배우는 C언어
구조체 파일과 함수를 헤더파일에 선언할 때 질문입니다.
struct 파일에 저장되어있는 문자열을 파일 스트림 fr로 옯긴 후, 그걸 다시 struct 파일로 옮기는 내용입니다. 보기 복잡해서 헤더파일로 나눈 후 정리를 하고 싶은데, header.h와 header.c로 나누어서 각각 함수의 프로토타입과 바디를 적어주었는데, 이후 어째서인지 main.c(소스.c)에 선언되어있는 변수를 인식하지 못하고 컴파일 에러가 나옵니다. 이 경우, 바디가 적힌 header.c에는 해당 변수들을 전부 다시 선언해줘야하나요? 혹은 main.c에 있는 변수나 함수에게 extern을 첨가해야 할까요?
-
해결됨독하게 시작하는 C 프로그래밍
동적 배열을 만들 때 realloc을 사용하나요 보통?
원래는 malloc하고 memcpy를 모를때는 반복문으로 복사하고, 이후 free하고 다시 새로 malloc한 주소값을 대입하였습니다.이번 강의에서 realloc을 배우고 이렇게 바꿀 수 있었습니다.그러면 실제로 동적 배열 만들때는 주로 realloc을 사용할 것 같은데, 강사님께서 realloc을 쓸일이 거의 없다고 하셨습니다. 설명해주신 미리 할당을 받아두고 memory pooling을 구현하기 때문인가요?아니면 대부분 동적이 아닌 예상할 수 있는 수치의 고정된 크기로 잡을 수 있기 때문에 realloc할 일 조차 없기 때문인가요? 그도 아니면 c에도 동적 배열을 사용하기 위한 라이브러리가 있어서 인가요? 항상 양질의 강의 제공에 감사드립니다.
-
해결됨독하게 되새기는 C 프로그래밍
상수화된 문자열에 질문있습니다
안녕하세요 강의를 잘 듣고있는 수강생입니다 강의에서 쓰신것처럼 Hello World같이 문자열을 변수에 저장하면 실행 바이너리 파일에 저장되있는데 모든 Hello World는 모두 같은 메모리값을 가지는건가요? 그럼 만약 Hello World에 !를 하나 붙일경우 새롭게 할당이 되나요?
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
Event Loop
Event Loop 함수에서 함수포인터 배열를 사용하여 Lookup 테이블 구조로 변경 하는 도중에 에러가 발생하여 질문 남깁니다! void (*EventFunc[EVENT_COUNT])(void) = { 0, AddNewUser, SearchByName, SearchByAge,PrintList, SearchByNameToRemove };위 코드와 같이 EVENT_COUNT 를 #define EVENT_COUNT 6 매크로로 정의 했을때 오류가 발생 합니다.void (*EventFunc[6])(void) = { 0, AddNewUser, SearchByName, SearchByAge,PrintList, SearchByNameToRemove };EVENT_COUNT를 매크로로 정의 하지 않고 6으로 하드코딩 할때는 컴파일이 잘되는데 서로 다른 결과가 나오는 이유가 궁금합니다.