묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결독하게 시작하는 C 프로그래밍
안녕하세요! C/C++/C# 윈도우 개발 희망하는 컴공과 2학년 입니다.
제 계획은 선생님의CS 강의 [컴퓨터구조, 운영체제, 네트워크]C/C++ 강의윈도우 시스템 프로그래밍 강의 를 공부하고,그 이후에 C# 과 .net 프레임워크를 공부할 계획입니다.이렇게 계획을 세운 이유는 1학년 때 자바 수업을 들으면서 C언어를 독학했는데, OS나 컴퓨터 원리에 대한 내용의 중요성을 너무 절실하게 깨달았습니다. 성격상 자바를 배우면서도클래스가 힙메모리 영역에 생성되고 이것은 C언어의 구조체 안에 또 다른 포인터를 넣어 이중포인터로 구현이 가능하겠구나 이런 생각이 들면서 C가 더욱 재밌고 이쪽 계열로 가고싶다고 생각 했습니다. 경쟁력도 더욱 있을거라고 생각했구요 ! 서론이 길었습니다.요약하자면 제 계획은C#을 이용한 윈도우 프로그램 개발을 하고싶지만,이에 대한 기반으로 C/C++ 윈도우 시스템 및 컴퓨터 구조에 대한 이해를 기반으로 공부하고 싶다. 제가 생각한 공부 계획이 배보다 배꼽이 더 큰건 아닌지 궁금해서 질문 드렸습니다 감사합니다! 아직 제가 깊게 학습을 하지 않은상태라 드린 말씀이지만, c#c++ 계열의 백엔드 개발or 윈도우 개발쪽으로 가려면 제가 생각한 것이 맞는지 궁금합니다 !
-
해결됨Windows 시스템 프로그래밍 - 기본
강사님 스레드 관련 질문 드립니다.
for(int i = 0; i < n ; ++i) 문 안에 스레드 생성시 매개변수로 &i를 주고 스레드를 생성할 경우 i 값이 변경되어 스레드에 +1 된 값이 전달되는 현상을 방지하려면 어떻게 해야 할 까요? 아마도 주소값을 주기 때문에 스레드 생성후에 i값이 변경되면서 발생한 거 같은데 해결 방법을 모르겠습니다.
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
자료 자체와 정렬된 인덱스 분리 강의에서 질문
강의 9분에 등장하는 MakeIndexAge 함수에 관한 질문입니다.MakeIndexAge 함수가 원래 자료구조의 손상을 가하지 않기위해노드들의 주소들을 담은 배열을 만들고 정렬한 후, 반환하는 함수라는 것은 알고있습니다.그런데 MakeIndexAge 함수의 반환형이 왜 USERDATA**가 아니라 void**인지 이해가 가질 않습니다.USERDATA**로 반환형을 잡으면 안되나요?
-
해결됨Windows 시스템 프로그래밍 - 기본
강사님 메뉴얼 중 이것도 궁금해서 여쭤봅니다.
TerminateProcess가 ExitProcess 대신 사용되는 경우 DLL(동적 연결 라이브러리)에서 유지 관리하는 글로벌 데이터의 상태가 손상될 수 있다. ====> 어떤 내용인지 설명해 주실 수 있는지요?
-
미해결Windows 시스템 프로그래밍 - 기본
강사님 프로세스의 IPC에서 굳이 MUTEX 가 필요할까 하는 생각이 듭니다.
강사님이 주신 예제의 뮤텍스를 보면 읽기/쓰기 동작에서는 쓰기가 먼저 일어나고 읽기가 일어나야 하기 때문에 이를 위해서는 뮤텍스 단독으로는 이러한 처리가 불가능하다고 보여지며 반드시 이벤트와 결합되어야 이러한 동작이 가능할 거 같이 보여집니다. 아울러 이벤트를 써서 구현하면 굳이 뮤텍스는 필요 없을 거 같다는 생각이 드는데 강사님 의견 부탁드립니다.
-
해결됨독하게 시작하는 C 프로그래밍
정수형태 변수 메모리상 확인방법 및 단순 대입 관련 문의
문의사항 x = 0; 실행시 x에 해당하는 주소에 데이터 저장이 확인되지 않습니다. 일전 문자열 저장시 메모리 상에서 확인 가능했음 (ex) char szName[32] ={ 0 };) x = ninput 수행시 독하게 시작하는 프로그래밍 언어 강사님 저서를 보고 확인했을때 주소에 값이 변경되는 것으로 판단되는데 맞을까요?다른 언어에서 복사의 의미는 값의 주소를 공유한다고 배웠던것 같아 문의드립니다. 감사합니다.
-
해결됨Windows 시스템 프로그래밍 - 기본
강사님 ExitProcess 와 TerminateProcess 에 대해 질문드립니다.
ExitProcess 관련 메뉴얼에프로세스에서 종료된 스레드 중 하나에 잠금이 있고 로드된 DLL 중 하나의 DLL 분리 코드가 동일한 잠금을 획득하려고 하면 ExitProcess 를 호출하면 교착 상태가 발생한다. 라고 되어 있는데 중요한 애기 인거 같은데 무슨 애기인지 알 수 있는지 해서요?DLL에서 ExitProcess 를 호출하면 예기치 않은 애플리케이션 또는 시스템 오류가 발생할 수 있다. DLL을 로드할 애플리케이션 또는 시스템 구성 요소와 이 컨텍스트에서 ExitProcess 를 호출하는 것이 안전한 경우에만 DLL에서 ExitProcess 를 호출해야 한다. 라고 되어 있는데 설명 부탁드릴 수 있느지요?아울러 ExitProcess 와 TerminateProcess 의 경우 프로그램이 할당한 메모리 등 자원 및 오픈한 handle 에 대한 처리는 어떻게 되는지요? 부탁드려 봅니다.
-
해결됨[쥬신게임아카데미 버거쌤] 완전 초보자를 위한 게임 C++
공부방법
클래스 전까진 신나게(?) 진행하다가, 동적할당, 구조체(포인터 변수사용),클래스..진입하면서,복습이 본 공부보다 더 오래, 심지어 오락가락하는 중입니다. 전 강의가 20강이라 짧긴 하고,입문용이긴 한데,.. 갖고있는 c++책의 예제를 보니, 연습용으로 풀긴,아는거보다 모르는게 좀더 많은거같고.. 예제를 만들어 복습을 하는 방법밖엔 없지만, .. 공부방향을 가이드 해주실수있나요?글고, 입문다음엔 기초이거나,중급일거같은데. 언제 나오나요?
-
해결됨윤파고의 정보처리기사 DB/프로그래밍 All-In-One
강의 3분 50초 두번째 예제코드 질문드립니다.
int a, hap = 0; for(a=0; a<5; a++, hap += a) ;초기 hap = 0a = 0일 때, hap = 0+0 => hap = 0a = 1일 때, hap = 0 + 1 => hap = 1a = 2일 때, hap = 1 + 2 => hap = 3a = 3일 때, hap = 3 + 3 => hap = 6a = 4일 때, hap = 6 + 4 => hap = 1010 아닌가요? 결과가 동일하게 15라고 되어있는데 어떻게 15가 되는 것인지 이해가 안됩니다...ㅜㅜ혹시 a<=5의 오타일까요..?
-
미해결홍정모의 따라하며 배우는 C언어
[]
daily_temperatures 뒤에 붙어있는 []가 정확히 무슨 뜻인지 모르겠습니다.어쩔 땐 int[] 이런 형식도 본 것 같은데 그것도 무슨 뜻인지 잘 모르겠습니다.int 사이즈 메모리 몇 개가 무슨 뜻인거죠? 4바이트짜리 메모리를 뒤에 써있는 수만큼 받는다는 건가요?그리고 마지막에 stock_prices_history[0]이라고 되어 있는데 항상 0이 첫 번째 주소인가요?
-
해결됨독하게 시작하는 C 프로그래밍
0.1F + 0.1F 에서 오차가 나는 이유
부동소수점 오차 관련하여 질문이 있습니다.부동소수점 방식에서 순환소수를 표현할 때는 오차가 난다는 것을 이해하였습니다.하지만 0.1은 순환소수가 아니어서 부동소수점 방식으로도 정확하게 표현할 수 있는데, 강의에서처럼 오차가 나는 이유가 무엇인가요?
-
해결됨독하게 시작하는 C 프로그래밍
섹션 13 배열의 기본 문법
안녕하세요 강사님 섹션 13 배열의 기본 문법 관련해서 질문이 있습니다강의에서 "Hello"이라는 문자의 배열의 요소를 6개라고 하셨는데, 이것은 Hello라는 문자는 알파벳 5개지만 문자의 배열(문자열)의 끝에는 항상 null이 들어가서 6개라고 말씀하신걸까요?그렇다면 모든 문자열의 요소 개수 = 문자열의 알파벳 개수 +1(null)라고 생각하면 될까요? 또한 문자열 상수는 이름이 없는 문자의 배열이라고 하셨는데 이름이 없는 문자의 배열이라는 것이 이해가 잘 가지 않습니다. 예를 들어 "Hello"는 문자열이고 변하지 않는 상수가 맞으니깐 문자열 상수라는 것은 알겠는데 이름이 없다는게 무슨 의미일까요? 감사합니다.
-
미해결홍정모의 따라하며 배우는 C언어
8분 33초경 질문
int f(int)[]; int(*f(int))[]; int g(int)(int); int(*g(int))(int); 안에서 밖으로 해석하는 게 좋다고 하셔서 그렇게 하고 있습니다.그렇게 하면 다른 건 다 해석이 되는데 위의 네 개의 예시만 해석이 안됩니다.맨 뒤에 괄호가 붙은 걸 어떻게 해석해야 할지 모르겠습니다. https://www.inflearn.com/questions/22987 링크의 질문하신 분이 해석한 것 처럼 하면*(asterisk)가 없는 건 해석이 되는데 있는 건 또 해석이 안됩니다. int f(int)[];는 반환값이 int[] 이고 int g(int)(int);는 반환값이 "parameter가 int고 반환값도 int인 함수" 인걸로 해석이 되는데*가 붙으면 해석이 안되네요 항상 좋은 답변 정말 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
왜 메인함수는 항상 int인가요>
callee함수들은 리턴값에따라 int , char쓰기도하는데 궁금합ㄴ디ㅏ
-
해결됨독하게 시작하는 C 프로그래밍
IO버퍼메모리 추적하기 강의 관련 질문이 있습니다.
항상 좋은 강의 감사드립니다.IO버퍼 강의 듣다가 질문 드립니다. IOBUF 구조체의 구조를 확인하는 방법이 강의에는 정확히 나와 있지는 않던데 인터넷 검색 이외 다른 방법이 있을까요? 비주얼스튜디오로 정의를 따라가는 방법으로는 c언어 표준라이브러리 나 그 외 API들의 내용을 전부 확인하기 힘든 경우가 많아서 궁금합니다. 실제 _iobuf 구조체는 placeholder라는 포인터변수 하나만 있는데 이 주소값에 해당하는 정보가 이전에 정의되어 있는 구조체 내용과 연결되어 있는 것인가요? 하나의 포인터만 표시되어 있는 구조체가 어떻게 작동하는지 궁금합니다. 강의내 코드에서는 IOBUF_TEST라는 별도의 구조체를 정의하여 사용하신 것 같은데 이 구조체의 포인터로 인스턴스화 된 개별 멤버변수들이 어떻게 실제 IO버퍼의 정보를 표현하게 되는 것인지.. 이 부분이 이해가 잘 되지 않습니다. 파일구조체의 정보를 참조하는 별도의 개별정의 구조체로 그 정보만 확인한 것이라고 이해하면 되나요? 질문이 너무 두서 없어 송구합니다. 항상 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
동적 라이브러리에 대한 의문
동적 라이브러리는 OS가 링크를 런타임에 해주는 것으로 배웠는데 그럼 동적 라이브러리는 process 단위로 봐도 되는 것인가요? 동적 라이브러리는 실행의 개념이 있는 것인지 의문을 가지게 됩니다.
-
해결됨Go Hard to C (feat. Algorithm)
음질이 안좋습니다
초반부 듣고 있는데 말 중간 중간에 소리가 계속 끊겨서 들립니다. 잡음도 간간히 들리네요.영상 촬영하시고 검수해보셨나요..
-
해결됨독하게 시작하는 C 프로그래밍
switch-case 예제중
scanf_s("%d%c%d", &x,&cOperator,1,&y);에서 1은 무엇을 뜻하나요?
-
미해결홍정모의 따라하며 배우는 C언어
첫번째 예제
해설 보면 코드 전에 아예 #define을 먼저 입력하고 들어가던데 define의 정확한 기능이 무엇인가요?NUM_ROWS, FIRST_CHAR, LAST_CHAR 같은 이름은 코드 전체에 통일성만 유지된다면 마음대로 이름을 지어도 되는 것인가요?
-
미해결홍정모의 따라하며 배우는 C언어
예제 관련 질문
처음에 설명 듣기 전에 이전에 배운 것을 토대로 코드를 작성해봤을 때 이렇게 작성을 했는데 이 코드를 실행하니까 제가 입력을 해야 Step 1,2,3 이런 식을 증가를 하던데 위의 코드를 입력 안 하고 강의 영상에 나오는 것처럼 하려면 어디를 어떻게 수정하면 될까요?