묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨윤파고의 정보처리기사 DB/프로그래밍 All-In-One
23분52초 문제에 질문드립니다.
구글링도 해봤는데 좀 애매해서 후치연산자를 좀 엄밀하게 설명해주셨으면 좋겠어요. 해당 문제a += ++a % b++ ? c*d : b/c에서b/c를 계산 할때 후치연산자를 먼저 적용하고 연산하시던데해당 줄의 전부를 모두 계산하고 최종 a에 대입까지 완료하고 나서야 후치연산자를 계산하는게 아닌가요?구글링으로 찾아보니 컴파일러에 따라 연산 구조가 달라 순서도 다르다고 하던데정확히 연산 우선순위에서 어떤시점에 후지연산이 적용 되는건지 알려주세요.
-
해결됨독하게 시작하는 C 프로그래밍
gets_s 함수 형식문자
예제에서 name의 datatype을 char로 지정하셨는데 마지막에 printf문에서 출력할 때 형식 문자를 %c가 아니라 %s로 하시더라고요. 이 이유가 gets_s함수 때문인가요?? 만약에 맞다면 gets_s함수는 문자에서 문자열로 바꿔주는 역할을 하나요? 아니면 배열을 써서 바뀐 건가요..??
-
해결됨독하게 시작하는 C 프로그래밍
주소값을 저장하는 공간에 8Byte가 할당되는 이유
안녕하세요 선생님 질문이 있습니다. 포인터 변수에 할당되는 공간의 크기가 8Byte인것이 64bit 프로세서를 사용해서 그런것이라면32bit 프로세서에서는 포인터 변수에 할당되는 공간의 크기가 4Byte라고 이해해도 될까요?감사합니다.
-
미해결CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기
Thread Block 개수에 제한이 있나요?
안녕하세요 저번 Vector Addition 수업에서는 256M(256 x 1024 x 1024)개의 연산을 수행하기 위해서<<<256*1024, 1024>>>로 커널을 런치하여 Block의 개수에는 제한이 없는 것 처럼 보였는데,15-5강의에서는 SM의 Thread Block은 32개 까지 가능이라고 하셔서 헷갈리는데두 개의 Thread Block 개념이 다른 것인지 궁금합니다.
-
미해결CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기
Warp를 동시에 돌린다는 말이 이해가 가지 않습니다.
안녕하세요. 먼저 좋은 CUDA 강의를 제공해주셔서 감사합니다. 다름이 아니라 15-4 강의에서 Warp를 동시에 돌린다는 말에 질문이 있습니다. Warp 스케줄링을 저는 아래와 같이 비교하여 이해하였습니다.CPU: Core -> 여러개의 쓰레드GPU: SM -> 여러개의 Warp 강의 내용처럼, CUDA에서 Warp별로 스케줄링을 관리를 한다면 모든 SP의 Clock들이 같은 Instruction을 수행(SM내 SP들의 Clock들은 Sync가 맞음)하여야 Warp단위로 스케줄링이 가능할 것 같은데, 제 생각이 맞는지 궁금합니다. 감사합니다.
-
미해결홍정모의 따라하며 배우는 C언어
4.3 강의 hello hi 출력 부분 오류
10분 36초에서 다음 코드를 실행시 "오류 C2075 str2 초기화에는 중괄호로 묶인 이니셜라이저 목록이 필요합니다."하면서 오류가 납니다.. 구글하고 네이버 서치하고 이거저거 다해봤는데 도저히 모르겠어요..
-
미해결홍정모의 따라하며 배우는 C언어
4.3 강의 hello hi 출력 부분 오류
#include <stdio.h> int main() { /*int a = 0; int int_arr[10] = { 0,1,2,3,4,5,6,7,8,9 }; printf("%i %i %i\n", int_arr[0], int_arr[1], int_arr[9]);*/ //printf("%i\n", int_arr[10000]); char c = 'a'; char str1[10] = "Hello"; // null character char str2[10] = ('H', 'i'); printf("%c\n", c); printf("%s\n", str1); printf("%s\n", str2); /*printf("%hhi %hhi %hhi %hhi %hhi\n", str2[0], str2[1], str2[2], str2[3], str2[4]);*/ //char str3[10] = "Hello, World", // array size is not enough //char str3[20] = "Hello, \0World", //printf("%s\n", str3); return 0; }
-
해결됨독하게 시작하는 C 프로그래밍
예제 파일 다운로드 경로
안녕하세요 강사님. 항상 자세한 강의 감사드립니다! 예제파일을 다운로드 받을려고 하는데 혹시 어디서 받을 수 있을까요..? 찾아보았지만, 찾을 수가 없어 부득이하게 질의드립니다!
-
미해결홍정모의 따라하며 배우는 C언어
변수나 함수 사용전에 선언이 되어있어야 사용가능에 대한 질문
void 함수를 main함수보다 아래에 쓰든 위에 쓰든 컴파일러는 main 함수부터 읽는데void 함수를 main함수 아래에 썼을 때 에러가 나는 이유가 이해가 안됩니다. #따배씨 2.9 함수만들기
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
섹션4 자료 자체와 정렬된 인덱스 분리 내용 질문
안녕하십니까? 강사님!초보자의 문득 드는 생각으로 질문드립니다. "섹션4 자료 자체와 정렬된 인덱스 분리" 강의의 MakeIndexAge함수 내용중에 USERDATA** aList;aList = malloc(sizeof(USERDATA*) * GetListCount());memset(aList, 0, sizeof(USERDATA*) * GetListCount()); 위의 코드를 그냥 이렇게 작성하면 안될까요?USERDATA** aList[GetListCount()]={0};잘몰라서 드리는 질문입니다.이해해 주시길 바랍니다수고하십시오
-
해결됨독하게 시작하는 C 프로그래밍
변수 이름 정보 자체의 저장 위치
안녕하세요 선생님 좋은 강의 만들어주셔서 감사합니다. 수강중에 질문이 있습니다. 예를들어 char ch = 'a'; 라고 했을때이름이 ch이고 크기가 1바이트인 변수가 OS에 의해 메모리에 할당되고 그 공간에 'a' 값 저장된다 그리고 &ch는 메모리의 주소 라는것 까지 이해했습니다.제가 궁금한것은 그렇다면 'ch' 라는 변수명(문자 자체)은 어디에 저장되며, 컴퓨터는 어떻게 'ch'라는 변수명을 인식할 수 있는지 궁금합니다.
-
해결됨독하게 시작하는 C 프로그래밍
선생님 디스어셈블리를 활용해서 코드를 보다보니~~
선생님 디스어셈블리를 활용해서 코드를 보다보니 제 소스코드 위에서도 작업을 하는것 같고 아래쪽에서도 작업이 이루어 지더라구요 위쪽에서는 add byte ptr [rax],al 아래쪽에서는 뭐가 쫌 일어나다가 00007FF7A71E1001 int 3 요런 명령이 나오더라구요~~ 요게 보니까 제소스코드 위아래로 c컴파일러?가 다른 작업을 하고 있는건가요?? 잘 몰라서 질문을 제대로 한건지도 모르겠네요 ㅠㅠ
-
해결됨독하게 시작하는 C 프로그래밍
32비트 시스템에서의 메모리 관리
안녕하세요. 32비트 시스템은 1바이트 메모리에 부여하는 주소가 32비트 상수라는 얘기가 이해가 안 가서 질문 드립니다.1바이트 하나 자체를 32비트의 주소로 관리한다는 것인지전체 메모리(ex. 4GB)에서 1바이트를 기준으로 32비트의 주소를 부여한다는 것인지 이 2개 중에 어떤 걸 의미하는지 헷갈립니다.알려주시면 감사하겠습니다. 항상 좋은 강의 감사드립니다.
-
해결됨독하게 시작하는 C 프로그래밍
C언어와 파이썬
안녕하세요 선생님다름이 아니라 현재는 프로그래밍 분야와 다른 분야에서 일하고 있지만 차차 준비를 해서 언젠가는 해당 분야로 직무를 변경하여 일하고 싶어 선생님의 강의를 수강하고 있는 직장인입니다.제가 처음 C언어를 배운 것은 2015년도 였고 그때 포인터를 마주하고 C언어 및 프로그래밍의 벽을 느껴 공부를 포기했었습니다. 그 이후로도 몇번이고 공부하고자 마음을 먹었지만 코드를 따라치고 기본적인 문법을 익혀 예제를 푸는 것 만으로는 실질적으로 코드 자체가 이해가 가지 않아서 중간에 학습을 포기하였습니다.최근에는 선생님의 C언어 강의를 들으면서 차근차근 공부를 하고 있습니다. 강의 내용이 어렵긴하지만 그래도 기초적인 것부터 설명해주셔서 너무 감사하게 수강 중입니다. 선생님이 말씀하신대로 프로그래밍언어 공부는 단순히 문법을 익히는 것 뿐만아니라 컴퓨터 구조와 메모리를 어떻게 쓰는 지 아는 것이 중요하고 이런 학습 방법이 도움이 더 많이 되는 것 같습니다. 아직도 잘은 모르지만 뭔가 하나하나 개념이 잡힌다고나 할까요? 그런데 최근 고민이 있습니다. 제 지인들은 다들 4년제 컴퓨터공학과를 나와서 일을 하고 있습니다. 제가 지인들에게 학습 방법, 로드맵에 대해서 질문을 하면 다들 C언어를 공부하는 것 보다는 Python을 공부하는 것이 더 좋다고 합니다. 실질적으로 c언어를 써서 개발하는 부서는 많지도 있고 요샌 대부분 Python을 사용하여 업무를 한다고 하더라구요. 제가 미리 말씀을 안드렸는데 현재 저는 반도체 기업에서 일을 하고 있고 제 지인들도 반도체 기업의 SW직무이고 저 또한 프로그래밍 능력을 쌓아 C++로 코딩테스크를 본 뒤에 사내 직무 이동 프로그램을 통해 SW직군으로 이동할 계획입니다.또한 지인들이 Python 은 인터프리터 언어(메모리 관리를 안해도 되는 언어)라서 요새는 C++까지 넘어가지 않아도 된다고들 하더라구요. 그래서 C는 어려우니 굳이 힘빼지말라는 말도 들었습니다. 또한 현업에서 일하시는 분들도 운영체제, 자료구조,네트워크 같은 과목을 두루두루 깊게 공부한 사람들이 적다고도 들었습니다.저는 현재 C언어를 공부하면서 어렵지만 배우는 것도 많고 뭔가 뜬구름 잡던게 하나하나 알아가는 느낌이라서 좋은데 제 지인들이 코딩테스트도 Python으로 봐라 C는 어렵고 어차피 현업가면 Python을 쓴다고 해서 제가 올바른 방향으로 학습을 하고 있는것인지 의문이듭니다. 제가 코딩 테스트를 C++로 보려는 이유는 인터프리터 언어인 Python보다 컴파일러 언어인 C++을 공부해야지(C++이 조금 더 어렵긴하지만) 컴퓨터가 메모리를 어떻게 쓰는 지 알게 되고 나추후에 더 도움이 된다고 생각해서 C++로 준비하고 있는데 제가 삽질을 하고 있는 건 아닌지 선생님의 의견이 궁금합니다.또한 제가 만약 C언어를 공부후에 선생님께서 자료구조, 운영체제, 네트워크는 필수로 공부하라고 들었던 것 같은데 맞을까요? 그렇다면 자료구조, 운영체제, 네트워크 중 공부 순서가 있을까요?위의 3가지 과목 이외에 추가적으로 공부해야할 과목과 공부순서가 있을까요? 이론공부의 커리큘럼이 공부합니다.그리고 현재 선생님의 유튜브 채널 멤버쉽도 구독 중인데 시간되시면 이 내용에 대한 선생님의 생각을 한번 유튜브에서 말씀해주시면 저처럼 갈피를 못잡고 있는 사람들에게 많은 도움이 될 것 같습니다. (저에 대한 직접적인 언급은 뺴고요) 감사합니다
-
해결됨Windows 시스템 프로그래밍 - 기본
TerminanteProcess 와 관련하여 질문 드립니다.
TerminateProcess가 ExitProcess 대신 사용되는 경우 DLL(동적 연결 라이브러리)에서 유지 관리하는 글로벌 데이터의 상태가 손상될 수 있다. ===> 이 부분에 대한 설명 부탁드릴 수 있는지요?
-
해결됨독하게 시작하는 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 가 필요할까 하는 생각이 듭니다.
강사님이 주신 예제의 뮤텍스를 보면 읽기/쓰기 동작에서는 쓰기가 먼저 일어나고 읽기가 일어나야 하기 때문에 이를 위해서는 뮤텍스 단독으로는 이러한 처리가 불가능하다고 보여지며 반드시 이벤트와 결합되어야 이러한 동작이 가능할 거 같이 보여집니다. 아울러 이벤트를 써서 구현하면 굳이 뮤텍스는 필요 없을 거 같다는 생각이 드는데 강사님 의견 부탁드립니다.