묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Windows 시스템 프로그래밍 - 기본
비즈니스 코드는 프로세스간에 공유가 되는건지요?
개발자가 작성한 프로그램을 여러개의 프로세스로 기동할 때실행코드는 모든 프로세스가 공유하는 건지요? 만약 그렇다면 사용자 코드는 사용자 메모리에 어떻게 올라가서 어떤식으로 모든 프로세스가 공유할 수 있는건지 궁금합니다.
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
구현 연습에 대한 개인적 의문
제가 나름 강사님의 큰 틀의 사고를 이용해서 구현을 하는데 차이가 약간씩 나고 있습니다. 이걸 코드 수준에서 동일하게 하도록 연습을 해야 할 지 아니면 저의 사고를 우선으로 하고 차이를 조정을 해야할지 고민이 있어 질문 드림니다!
-
해결됨독하게 시작하는 C 프로그래밍
c언어 자료형에 대해
자료형에 대한 이해 5:38에서 C언어 자료형에 대해 설명하는 도중 함수형에 대해 의문이 들어 글을 작성합니다. 이전에 설명해 주실때 자료형은 일정길이의 메모리에 저장된 정보를 해석 하는 것으로 설명해주셨습니다. 함수형은 메모리에 일정길이를 해석하는 개념이 있는지 또는 다른 해석법이 있는지 궁금합니다.
-
해결됨Windows 시스템 프로그래밍 - 기본
강사님 질문 드립니다.
게임개발자가 되려면 MFC 를 어느정도 알아야 하나요?게임개발자가 되려면 반드시 MFC 를 공부해야 하는지 궁금해서요...강사님의 조언 부탁드립니다.
-
해결됨독하게 시작하는 C 프로그래밍
Switch-case 문 예제
안녕하세요 강사님섹션 11 기본 제어문 switch-case문 예제 scanf_s에서 중간에 1을 쓰셨던데 이유를 알 수 있을까요?실제로 실행을 해보니 1을 넣으면 결과가 잘 나오는데 1을 넣지 않으면 실행창은 뜨는데 아래 실행 창 처럼 멈춰 있습니다. 각각의 이유를 알 수 있을까요?오류코드도 뜨는데 무슨 말인지 잘 모르겠는데 알려주실 수 있나요? 오류 코드 감사합니다.
-
해결됨MFC Windows 프로그래밍 - 기본
pOldPen = dc.SelectObject(); 관련 질문
안녕하세요 선생님강의에서 옛날 윈도우(XP)에서는 pOldPen = dc.SelectObject()를 안해주면 문제가 생길수 있고, 요즘 윈도우즈에서는 괜찮을거라고 하셨는데요.이부분에 대해서 조금 더 자세하게 알고 싶습니다.테스트용으로 코드를 작성했습니다. void CPenBrushDemoView::OnPaint() { CPaintDC dc(this); // device context for painting CBrush NewBrush; //비트맵 클래스 객체를 선언하여 비트맵 리소스 로딩. CBitmap Bmp; Bmp.LoadBitmap(IDB_BITMAP1); //로딩된 비트맵 리소스로 패턴 브러시 생성. NewBrush.CreatePatternBrush(&Bmp); CBrush* pOldBrush = dc.SelectObject(&NewBrush); //클라이언트 뷰 클래스의 클라이언트 영역 크기를 알아내고 //그 크기에 해당하는 네모를 그림. CRect Rect; GetClientRect(&Rect); dc.Rectangle(&Rect); dc.SelectObject(pOldBrush); DWORD style[] = {6, 3}; LOGBRUSH lb; lb.lbStyle = BS_SOLID; lb.lbColor = RGB(255, 0, 0); // 여기서부터... CPen* pOldPen; CPen FirstPen; { FirstPen.CreatePen(PS_GEOMETRIC | PS_USERSTYLE | PS_ENDCAP_FLAT, 20, &lb, 2, style); pOldPen = dc.SelectObject(&FirstPen); dc.MoveTo(40, 40); dc.LineTo(240, 40); } CPen SecondPen; { SecondPen.CreatePen(PS_GEOMETRIC | PS_USERSTYLE | PS_ENDCAP_FLAT, 40, &lb, 2, style); dc.SelectObject(&SecondPen); dc.MoveTo(40, 240); dc.LineTo(240, 240); } { CPen ThirdPen; ThirdPen.CreatePen(PS_GEOMETRIC | PS_USERSTYLE | PS_ENDCAP_FLAT, 60, &lb, 2, style); dc.SelectObject(&ThirdPen); dc.MoveTo(40, 440); dc.LineTo(240, 440); } dc.MoveTo(40, 640); dc.LineTo(240, 640); dc.SelectObject(pOldPen); } 위 코드에서는 총 4개의 직선을 그리고 있습니다.여기서, CPen ThirdPen은 스코프 안에서 소멸자가 불러질 때 DeleteObject()가 실행되면서 gdi는 없어집니다. 하지만 디바이스컨텍스트(dc)는 계속 해당 gdi를 가리키고 있습니다. 그런데 그 이후에 dc는 지워진 gdi의 방식대로 직선을 그리고 있습니다.(dc.MoveTo(40, 640); dc.LineTo(240, 640);) dc가 가리키고 있던 gdi가 지워졌는데도 불구하고 어떻게 기존의 방식대로 그릴수 있는지 이유를 모르겠습니다. 그리고 위의 코드에서,dc.MoveTo(40, 440);dc.LineTo(240, 440);를 지우게 되면 ... { CPen ThirdPen; ThirdPen.CreatePen(PS_GEOMETRIC | PS_USERSTYLE | PS_ENDCAP_FLAT, 60, &lb, 2, style); dc.SelectObject(&ThirdPen); // dc.MoveTo(40, 440); // dc.LineTo(240, 440); }ThirdPen이 스코프를 벗어난 이후 마지막 직선은 ThirdPen의 방식이 아닌 SecondPen의 방식으로 그려지고 있습니다. 좀 전의 위에서 동작한 방식과 일관성이 맞지 않는것같아요. 질문글이 길어서 요약을 해보자면..2개의 소스코드가 사소한 차이가 있는데 왜 DC가 동작하는 방식이 다를까요?DC와 GDI에 대한 저의 생각에서 혹시 오류가 있을까요?
-
해결됨독하게 시작하는 C 프로그래밍
나이, 이름 입력 예시에서 scanf_s() 함수 사용 이후 gets_s() 함수 사용 시 오류
gets_s() 함수가 키보드 추상화 파일의 버퍼에서 null이 나올 때까지 문자열을 가져오는 함수잖아요.scanf_s() 함수를 통해 5\n 이 저장되었다고 했을 때, %*c를 통해 \n을 제거하지 않으면 gets_s() 함수는 \n이 들어있어서 입력을 중지하는 거라고 이해했습니다.여기서 질문입니다. null이랑 \n 이랑 다르다고 알고 있는데 왜 null 이 나온 것처럼 gets_s() 함수가 수행되지 않는지 궁급합니다!!감사합니다. (꾸벅)
-
해결됨독하게 시작하는 C 프로그래밍
문자열처리 함수소개강의에서 질문 있습니다.
강의 감사히 듣고 있습니다.질문 두 가지 있습니다.1.strcat_s 함수를 설명하실 때 strcat_s(szPath + 17 + 4, sizeof(szPath) - 25, "C programming");이라고 해주셨는데 22번째 인덱스부터 시작하여 널문자를 찾고 이어붙이는 구문이라면 전체 배열의 크기도 sizeof(szPath)-21로 조정을 해야 하는 것 아닌가요? 2.strcat_s(szPath + 17 + 8, sizeof(szPath) - 25, "C programming");에서 오류가 나는 것은 문자열 배열 넘어의 메모리를 시작값으로 설정했다는 것인데 확인할 수 있는 null 이 없기 때문인 건가요?감사합니다.
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
05_adtFileIO 프로젝트 문의
안녕하세요. 선생님! 에러는 아니고, 프로그램 완성도 측면에서 버그 발견하여혹시몰라서 공유드립니다.프로젝트이름: 05_adtFileIO소스파일: singleList.c함수명: AddNewNode, SearchListByNameNew(유저추가) > Search > offset 0의 유저로만 찾아지는 버그수정방안새로운 유저 추가 시, g_listCount로 offset 셋팅검색 시, 캐싱된 데이터 조회(파일에 아직 저장 안한상황 대응)
-
해결됨독하게 시작하는 C 프로그래밍
stdio.h 내 puts 함수 구현을 직접 볼 수 있나요?
안녕하세요 널널한개발자님 강의 재밌게 보고 있는 1인 입니다ㅎㅎ강사님께서 구현코드는 디버깅 과정에서 보여지지 않는다고 하셨는데, 볼 수 있는 방법이 있을까요? 모든 프로그래밍 언어의 기본이 되는 언어라고 배웠는데 실제구현을 볼 수 없다는 게 제 수준에서는 의아합니다. 찾아보니 소스파일 외의 구현코드를 찾기가 어렵고 챗지피티도 명쾌한 대답을 주지 못해서 질문 남깁니다. 여러번 질문했는데 항상 잘 답변해주셔서 감사드립니다~
-
해결됨Windows 시스템 프로그래밍 - 기본
동기와 비동기
다중 코어 환경에서는 os가 스레드를 처리할때 동시성과 병렬성을 무조건 다써서 처리하나요? 친화력 조절을 안한다면..1번이 그렇다라면 코어가 4개(스레드 4개)인 컴퓨터에서하나의 프로세스에서 3개의 스레드가 추가로 실행되어 총 4개의 스레드가 존재할때 추가된 3개의 쓰레드가 각각 2초짜리 입력 요청을 하나의 파일에 요청한다고 할때cpu (idle~적당히)동기 : 최소 2초 ~ 최대 6초 (block)비동기 : 최소 2초 ~ 최대 6초가 맞을까요?이렇게 볼때 비동기가 동기보다 좋은 이유가 block 되지않고 코드를 더 실행하는것 하나 뿐인가요? 이후에 다른 작업들이 더 많아지면서 비동기가 빛을 발하게 되는건가요?
-
해결됨독하게 시작하는 C 프로그래밍
getchar와 scanf의 차이
char ch = 0;scanf_s("%c", &ch, 1);printf("%d", ch); char ch = 0;ch = getchar();printf("%d", ch); 여기서 scanf_s와 getchar의 차이가 뭔가요?
-
해결됨Windows 시스템 프로그래밍 - 기본
시스템 프로그래밍에서 c와 c++
시스템 프로그램 함수 매개변수에 NULL을 사용할때 c식으로 코딩하려면 NULL이고 c++식으로 코딩하면 nullptr로 써두는게 협업에서 도움이 되나요?시스템 프로그래밍이나 소켓프로그래밍에서 scanf와 printf문,char배열을 쓰는것보다 cout,cin,endl,string을 쓰는게 성능 차이가 많이 나나요?
-
해결됨독하게 시작하는 C 프로그래밍
memcpy 사용 후 free 함수 사용여부
memcpy 의 내부동작을 설명하실때 동적메모리할당 구문이 있었는대 이 부분은 free 로 안닫아줘도 괜찮은건가요??
-
해결됨독하게 시작하는 C 프로그래밍
qsort 함수에 관한 질문입니다.
stdlib에서 제공하는 qsort 함수qsort(void base, size_t width, int(*compare)(const void* key, const void* element))에서 compare부분이 비교함수를 가리키는 함수 포인터라고 알고있습니다.그렇다면,qsort(aList, 5, sizeof(int), *myCompare); 같이 넣지 않고qsort(aList, 5, sizeof(int), myCompare); 처럼 넣는 이유가 뭔가요?
-
해결됨독하게 시작하는 C 프로그래밍
함수 포인터 강의에서 질문이 있습니다.
int(*pfGetMax)(int,int,int) = GetMax; 를 통해함수 포인터 선언 정의를 동시에 하고printf("MAX: %d\n", pfGetMax(1,3,2)); 를 하셨는데함수 포인터를 사용하여 GetMax 함수를 호출하는 과정에서pfGetMax(1,3,2)를 사용하셨는데 이 표현이 이해가 가지 않았습니다.포인터의 간접지정을 통해서 값을 가져와야 한다고 생각했는데(*pfGetMax)(1,3,2) 처럼 해야하는 것이 아닌가요?
-
해결됨독하게 시작하는 C 프로그래밍
[필수 실습 문제] '*' 출력 놀이 응용
if문을 쓰는 것과 아래 코드처럼 for문만 쓰는 것 중에 어느 코드가 더 효율적인가요?for (int i = 1; i <= 5; i++) { for (int j = 0; j < 5 - i; j++) { printf(" "); } for (int j = 0; j < i; j++) { printf("* "); } puts("");}
-
해결됨독하게 시작하는 C 프로그래밍
[필수 실습 문제] 버스 요금 계산
안녕하세요 강사님 [필수 실습 문제] 버스 요금 계산 관련 질문 있습니다.저는 나이가 20살 미만이면 기본 버스 요금 1000원의 75% 적용한다는 구문을printf 함수 안에 input*0.75 이렇게 적었는데요이렇게 적으면 최종 요금이 0이 나오더라구요이렇게 되는 이유가 최종 요금을 나타내는 형식문자가 %d인데 *0.75 를 곱해서 일어난 것 같은데전체적으로 보면 input 0.75 = 1000 * 0.75 =750 의 정수형식이라서 상관없을 거 같은데 형식 문자가 %d 정수형이면 그 값을 나타내는 변수에도 정수만 들어가야하나요?
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
CLI UI적용 강의에서 질문드립니다.
강의 자료로는 잘 실행되는데 똑같이 복사 붙여넣기로 다른 솔루션에서 실행하려면 이렇게 오류가 뜹니다. 이유를 잘 모르겠어 질문드립니다..
-
해결됨Windows 시스템 프로그래밍 - 기본
이예제 파일 어디 있나요
파일을 못 찾겠어요