묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨독하게 시작하는 C 프로그래밍
C언어를 처음 배우는데요 ..
C#을 다루는데 이강의도 도움이 될까요 ?
-
해결됨독하게 시작하는 C 프로그래밍
포인터 변수 관련 질문입니다.
64bit 시스템에서 주소 상수와 포인터 변수 크기가 모두 64bit라면 char형 포인터 변수나 int형 포인터 변수 크기도 64bit인건가요?
-
해결됨독하게 시작하는 C 프로그래밍
문자 입/출력 질문입니다
안녕하세요! 강의 잘 보고 있습니다. 몇 가지 질문이 있습니다! _getch() 함수를 설명해주실 때, 사용자가 주변기기(ex. 키보드)에 입력한 것이 무엇인지 보이지 않는다고 했는데, 이를 활용한 것이 흔히 콘솔(터미널)에서 어떤 계정과 비밀번호 입력할 때 비밀번호 입력해도 콘솔에 표시되지 않는 것들을 구현할 때 사용하려나요?(윈도우에선 putty 같은 것에서..) 개인적으로 궁금하네요 ㅎㅎ가끔 퍼블릭 클라우드의 VM으로 인터넷을 통해 로컬에서 원격 접속을 하게 된 뒤에 VM의 콘솔에서 키보드를 입력하면 가끔 끊기면서 입력되는 경우도 있던데.. 이는 네트워크 대역폭이나 속도 관련 문제일 가능성이 높겠죠? 제가 현재 MacOS라서 버추얼박스에서 window 및 visual studio 설치 후 사용하고 있는데요! 거기에서 아래의 예제 코드를 실행하고 키보드 입력을 'z' 로 했는데 콘술 출력에 'za'가 아니라 'z?' 가 나오는데요. 물음표가 대체 왜나올까요..? 예상 가시는 원인이 있으시려나요..3번에서 이야기한 아래 예제 코드에서 char ch = 0; 부분 설명하시면서 0이라는 숫자값이 정수인 것 같은데 앞에 char 키워드로 지정해도 에러가 나지 않는 부분은 char도 어쨌건 컴퓨터한테는 정수 숫자형태로 인지되고, 정의한 0이라는 값이 char 자료형의 숫자 범위 내에 있기 때문인 걸로 이해했는데.. 이게 맞나요?3번 질문에 대한 예제코드는 다음과 같습니다.#include <stdio.h> #include <conio.h> int main(void) { char ch = 0; ch = getchar(); putchar(ch); putchar('z'); return 0; }답변 미리 감사합니다! :)
-
해결됨독하게 시작하는 C 프로그래밍
엔디안 관련 질문입니다.
강의에서 Intel이 리틀 엔디안을 사용한다고 하셨는데요. 빅 엔디안은 값의 대소 비교에 유리하고, 리틀 엔디안은 홀수와 짝수를 판단하는 데 유리할 것 같습니다. 그렇다면 Intel이 리틀 엔디안 방식을 사용하는 이유는 무엇인가요? / 리틀 엔디안 방식의 장점은 무엇인가요?
-
해결됨독하게 시작하는 C 프로그래밍
MacOS에서 C 개발할 때 사용하는 IDE
안녕하세요 선생님! 저는 개인적으로 MacOS를 사용하고 있어서 선생님 강의를 들을 때는 버추얼 박스 설치하고 윈도우 11을 설치해서 선생님이 강의에서 말씀해주시는 환경을 동일하게 세팅해서 학습을 진행하고 있습니다. 그래서 학습할 때는 앞으로도 큰 불편함은 없을 것 같은데요! 다만, 학습이 끝나고 제가 원래 익숙해하던 MacOS로 돌아올 텐데.. MacOS에서 C를 개발할 때는 주로 어떤 IDE 나 툴을 사용하는지 아시는 바가 있으실까요!? 강의 이론쪽 내용에서 소개해주실 때, C 개발할 때 컴파일러 소프트웨어가 필요하다고 하셨고, 이 컴파일러 소프트웨어를 강의에서 사용하는 visual studio가 매우 잘 제공해준다고 하셨습니다.(리눅스에서는 gcc라고..) 그러면 보통 MacOS를 사용하시는 분들은 어떤 IDE 랑 어떤 컴파일러를 사용해서 C 개발을 하는지 아시는 부분이 있다면 답변 부탁드려도 될까요!?(chatGPT한테 물어보니 Xcode 도 알려주긴 하네요..)최근에 visual studio 홈페이지를 가보니까 Mac을 위한 버전이 나오기도 했는데, 지원되는 기능을 보니까 C/C++ 기반 데스크톱 개발은 또 지원이 안되는 것 같더라구요..(https://visualstudio.microsoft.com/ko/vs/mac/) 미리 답변 감사합니다! ㅎㅎ
-
해결됨독하게 시작하는 C 프로그래밍
매개변수의 변경 방지
const를 사용하면 매개 변수의 변경을 방지할 수 있지 않을까요~?int Add(const int a, const int b) { return a + b; }포인터의 경우 주소 값과 역참조 값 중에 const로 지정할 것을 고민하긴 해야 하지만요. 어쨌든 const를 이용하면 매개변수의 데이터 변경을 제한할 수 있을텐데 따로 언급이 없으셔서 말씀드려봅니다!
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
인터럽트
프로그램 입출력 방식에서는 전송률이 높은 CPU가 전송률이 낮은 장치 컨트롤러의 상태 레지스터를 계속 확인을 해야 한다는 점이 효율에 있어 문제를 일으킨다고 했습니다.인터럽트 기반 입출력 방식에서는 인터럽트 신호가 발생할 때만 CPU의 관심을 끌어서 이러한 문제가 없다고 했고요.그런데 인터럽트 신호가 발생했는지를 확인하기 위해 CPU는 매 명령어 사이클에서 fetch하기 전에 인터럽트 레지스터를 확인하는 과정을 거치는데, 이러면 프로그램 입출력 방식에서 장치 컨트롤러의 상태 레지스터를 계속 확인하는 것과 별반 다른 점이 없는 것 아닌가요? 어떤 점이 개선이 되었다는 건지 잘 이해가 가지 않습니다.학부 수업을 듣고 제대로 이해가 가지 않아 이 강의를 찾아서 다시 공부하고 있는데, 여전히 헷갈려서 질문 올립니다.
-
해결됨독하게 시작하는 C 프로그래밍
교재
안녕하세요! 독하게 시작하는 C 교재를 구하기가 어려운데 혹시 유튜브에 pdf자료가 올라와 있을까요??
-
해결됨독하게 시작하는 C 프로그래밍
UTF-8 관련 질문 드립니다!
UTF -8은 영문과 한글을 섞어서 사용한다고 하셨는데영문 한 글자는 MBCS 문자열이고 한글은 Unicode 문자열 이니까 UTF-8은 MBCS 문자열과 유니코드 문자열을 섞어서 쓴다라고 이해하면 될까요?
-
해결됨독하게 시작하는 C 프로그래밍
포인터와 1차원 배열 강의 관련해서
#define CRTSECURE_NO_WARNINGS#include <stdio.h>#include <string.h>int main(void){ char szBuffer = {"Hello"}; char* pszData = szBuffer; while (*pszData != '\0') { pszData++; } printf("%p, %p\n", pszData, szBuffer); printf("Length: %d\n", pszData - szBuffer);}이 코드를 그대로 입력해서 실행시키면 아무것도 출력되지 않는데 왜 그런건가요? printf("%p, %p\n", pszData, szBuffer) 이 부분을 printf("%p, %p\n", pszData, *szBuffer) 이런식으로 바꿔야하는건가요?
-
해결됨독하게 시작하는 C 프로그래밍
void사용여부
안녕하세요. 현재 첫 예제 해설을 수강중에 있습니다. 강의내에서 void는 매개변수가 없다는 의미라고 하셨는데, 해당 예제문에서 void를 빼고 코드를 실행한다면 어떻게 되나요? 출력결과는 같게 나오고 있습니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
원형 대기 조건을 없애는 예시 중 질문드립니다.
식사하는 철학자 문제는1. 계속 생각을 하다가 왼쪽 포크를 든다.2. 계속 생각을 하다가 오른쪽 포크를 든다.3. 왼쪽과 오른쪽 포크를 모두 집어들면 정해진 시간동안 식사를 한다.로 이루어져 2개의 포크라는 자원이 전부 충족되어야 하는 문제로 이해하였습니다. 그런데 원형 대기 조건을 없애는 예시 중 철학자들이 모두 포크를 들어도 괜찮다는 부분이 있습니다.이 경우도 이전 식사하는 철학자 문제와 동일하게 결국 각자에게 할당된 포크(자원)이 1개씩만 할당되기에 결국 문제가 해결되지 않는게 아닌지 생각됩니다. 이 부분에 대해서 조금 더 설명해 주실수 있으실까요?
-
해결됨독하게 시작하는 C 프로그래밍
malloc 함수의 형변환(?) 질문드립니다!
(int*)malloc( sizeof(int) * 4 )(char*)malloc( sizeof(char) * 4 )와 같이 malloc 함수 선두에 등장하는 (자료형*)은 무엇을 의미하고 어떻게 작동하는 것인지 알고 싶습니다! 항상 좋은 강의 감사드립니다!
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
메인보드는 왜 핵심부품이 아닐까요?
분류의 기준이 어떻게 되는지 궁금합니다.컴퓨터 조립할 때도 cpu/메인보드/램/하드 를 우선 구매하고,메인보드가 없으면 오히려 이 부품들을 연결할 수가 없는데 그렇다면 입출력장치가 빠지고 메인보드가 들어가야되는거 아닌가? 라는 의문이 있습니다.입출력장치는 주변기기 라고도 하고, 저 4개 핵심부품이 다 있더라도 메인보드가 없으면 연결할 수가 없는데 어떻게 메인보드보다 입출력장치가 핵심부품으로 포함됐는지 분류한 기준이 있었을 텐데, 그 기준이 어떻게 되는지 알고 싶습니다.
-
해결됨독하게 시작하는 C 프로그래밍
연령별 버스 요금 계산 문제에서 범위에 따른 결과 차이
저는 65세를 기준으로 제어문을 만들어 보았습니다。 다만 어린이 요금 부분에 (4<= age <= 13과(age <=13)사이에 결과값에 차이가 생기는데 왜 차이가 생기는지 궁금해요
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
프로세스
프로세스란, 프로그램이 실행중인 상태이며, 이 프로그램이 실행이되는과정이 제가 생각하고있는게 맞는지 궁금하여 글 남겨드립니다먼저 프로그램은 실행되기전까지는 데이터 덩어리에 불과하며,실행되지 않는 프로그램은 보조기억장치(하드디스크)쪽에 보관되어있다가 프로그램이 메모리에 적재된 후CPU가 메모리에 적재되어있는 해당 프로그램에 명령어와 데이터를 가져와 연산을 하면 프로그램이 실행되어 프로세스가 되는것인가요? 지금 헷갈리는것이 프로그램이 메모리에 적재되어 실행이되면 프로세스가 된다고하셧는데이 "실행" 이라는 부분이 너무 애매해서 헷갈립니다CPU를 거쳐서 "실행"이된다는건지 아니면 메모리에 적재가되면 "실행"이 되는건지 궁금하여 글남겨드립니다. 그리고 제가 작성한 부분중에 잘못알고있는 부분이 있는건지도 확인차 글 남겨드립니다.
-
해결됨독하게 시작하는 C 프로그래밍
섹션14 최대값 실습문제
안녕하세요 교수님!개린이(개발자어린이) 실무자 입장에서오랜만에 잊고있던 C언어를 써야할 일이 생겨서강의를 신청했는데 너무 재미있고 유익합니다.완전 입문 보다는 더 심도깊고 폭넓게 알려주셔서 너무 좋습니다.저는 아래와 같이 코드를 작성해봤는데한번 봐주시면 감사하겠습니다. 1.int MaxValue(int a, int b, int c) { int max = a; if (max < b) max = b; if (max < c) max = c; return max;}int main(void){ int num1 = 0, num2 = 0, num3 = 0, finalValue = 0; printf("정수를 3개 입력하시오. "); scanf_s("%d%d%d", &num1, &num2, &num3); finalValue = MaxValue(num1, num2, num3); printf("최대값은 %d 입니다\n", finalValue); return 0;}
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
프로세스 상태
프로세스란 실행중인 프로그램이고 좀더 정확히 말하면 보조기억장치에 적재되어있다가 프로그램이 메모리에 적재되고 실행이 되면 이떄 이 프로그램은 프로세스라고 하는걸로 알고있습니다그리고 이 과정을 프로세스가 생성된다고 말하고있다고 하셧습니다 PCB는 이 프로세스가 생성될때 커널영역에 저장된다고 하셧는데 프로세스 상태에서 생성상태가 이해가 안갑니다프로그램이 실행이(=프로세스) 안되는데도 메모리에 적재되어 PCB를 할당 받을수가잇나요? 프로그램이 실행되었다는건 메모리에 적재된 상태고 PCB도 할당 받은 상태인데"생성 상태" 라는 단어가 아직 실행중이지 않는 상태라는 뜻인데 이 부분이 말이 안된다고 생각해서요애초에PCB는 프로세스가 생성될떄 같이 만들어지는 애인데말씀하신 내용을 들어오면생성상태는 프로그램이 실행중인 상태가 아니라 그냥 메모리에 적재되어있는 상태인거 아닌가요?그럼 프로세스가 아닌 단순한 프로그램이 메모리에 적재되어있는상태가 아닌지 , 그리고 그상태가 맞다면 PCB는 아직 할당되지 않는게 맞는게 아닌가요?
-
해결됨독하게 시작하는 C 프로그래밍
독하게 시작하는 C프로그래밍 교재
강사님 독하게 시작하는 C프로그래밍 교재 이번에 재개정 예정이라고 하셨는데 혹시 언제쯤 나올까요?
-
해결됨독하게 시작하는 C 프로그래밍
섹션 13 다차원 배열 연습 문제
안녕하세요 강사님 섹션 13 다차원 배열 연습 문제 관련 질문있습니다해당 문제이고 예전 강사님께서 질문에 답변하셨던 내용을 보니 먼저 2중 for문 구조를 사용하지 말고 단일 for문을 두 번사용해서 각각 행과 열의 합의 게산 후 2중 for문 구조로 바꿔보라고 하셨는데 아래는 제가 2중 for문 구조로 작성한 코드이고 그 아래는 단일 for문을 사용해서 작성했는데 강사님께서 말씀하신 게 이 뜻이 맞을까요? 그리고 제가 생각하기에는 이중 for문이 더 간단한거 같은데 단일 for문을 사용해보라는 건 어떤 이유인지 알 수 있을까요?또한 제가 생각하기에 단일 FOR문을 사용하면 각 FOR문에 대한 합계를 구할때 변수 선언을 너무 많이했는데 혹시 이걸 줄일 수 있는 방법이 있을까요? https://www.inflearn.com/questions/1106529/%EC%84%B9%EC%85%98-13-%EB%8B%A4%EC%B0%A8%EC%9B%90-%EB%B0%B0%EC%97%B4-%ED%95%84%EC%88%98-%EC%8B%A4%EC%8A%B5%EB%AC%B8%EC%A0%9C 이중 FOR문 사용 단일 FOR문 사용