묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨독하게 시작하는 C 프로그래밍
파일 플러싱에 관한 질문입니다!
파일 플러싱 => Output에만 적용=> 메모리에 담긴 파일이 어딘가로 흘러 내보내진다는 의미ex) Console 입/출력 => 장치 추상화 파일 CON의 구성요소 stdin, stdout는 각각 Buffer를 가지고 있음=> Process가 출력을 하면 Output Buffer에 출력할 내용이 쌓임 => Buffer가 비워지면서 Console에 출력 => 이 일련의 과정을 OS가 처리이 과정에서 OS가 할 일이 많아지면 Buffer에 쌓이는 속도가 느려질 수 있음(Buffering)이 때 빠르게 Buffer를 비워서 콘솔에 출력을 하고 싶을 때 fflush() 함수를 사용이렇게 정리 해봤는데 맞게 이해한 걸까요?
-
해결됨독하게 시작하는 C 프로그래밍
주소 지정연산자(&)와 간접지정 연산자(*) 간의 관계
안녕하세요! 강의 속에서 아래 코드를 설명해주시면서 ..printf("%s\n", &szBuffer[4]);printf("%s\n", &*(szBuffer + 4));주소 지정 연산자와 간접 지정 연산자가 서로 반대이기 때문에 두 개가 만나면 없어진(?)다 라고 하셨는데요!여기서 '서로 반대' 라는게 막 피부에 와닿게 잘 이해가 되지는 않네요.. 일단 그냥 암기해야 할까요..? 이 '서로 반대이다' 라는 뜻을 완벽히 이해한 것은 아닌데 다음 진도를 나가는 게 맞는 건가 싶어서요!
-
해결됨독하게 시작하는 C 프로그래밍
fgets, fputs 관련 질문입니다
지금까지 입력을 받을 때는 getchar()나 gets_s()를 사용하고 출력 할때는 putchar()나 puts()를 사용했는데 파일 입출력 예제에서는 반대로 입력할때 fputs()를 쓰고 출력할때 fgets()를 쓰는건지 궁금합니다!
-
해결됨독하게 시작하는 C 프로그래밍
I/O Buffer에 관한 질문입니다!
키보드 입력 → 키보드의 디바이스 드라이버 → OS의 어떤 요소 → 키보드를 추상화한 인터페이스→ Input Buffer메모리에 한 글자 단위로 저장(Read)Output Buffer 메모리에 한 글자 단위로 복사(Write) → 콘솔을 추상화한 인터페이스→ OS의 어떤 요소 → 콘솔의 디바이스 드라이버 → 콘솔 출력이렇게 정리 해보았는데 맞을까요?
-
해결됨독하게 시작하는 C 프로그래밍
R-Shift에 대해서 질문드립니다
L-Shift에서는 빈 부분 Zero Padding / 원래 있던 비트는 Overflow로 절사라고 하셨는데그렇다면 R-Shift는 Underflow라고 이해하면 될까요?
-
해결됨독하게 시작하는 C 프로그래밍
이후 강좌에 대한 질문
강사님 안녕하세요! 이제 방학이라1.독하게 되새기는 C프로그래밍/ 자료구조2C++3.시스템 프로그래밍4. 네트워크 강의들순서대로 공부할 예정이고 강의를 통해 어느정도 배경지식이 쌓이면, 추천해주신 제프리 윈도우 책 등을 보며 학습하려고 합니다. 저는 게임서버쪽을 희망하고 있습니다.혹시 제가 잘 몰라서 질문 드리는건데, 저렇게 수강을 하게 되면 로드맵 할인쿠폰 적용이 안되더라구요 가능하다면 저 강좌들을 구매할 쿠폰을 받을 수 있을까요?ㅜㅜ해결유튜브 멤버십 가입 후 쿠폰 받아서 구매 완료하였습니다! 열공하겠습니다~!
-
해결됨독하게 시작하는 C 프로그래밍
조건 (3항) 연산자 질문과 필수 연습문제(1)
안녕하세요~ 질 좋은 강의에 감사인사 부터 드립니다! (__)조건 (3항) 연산자 강의에서 아래의 소스코드로 설명해주셨는데요!int main(void) { int nInput = 0, nSelect = 0; scanf_s("%d", &nInput); nSelect = nInput <= 10 ? 10 : 20; printf("%d\n", nSelect); return 0; }보면 nSelect 변수에다가 조건 연산자를 넣어서 특정 변수가 할당되도록 하셨는데요! 합격/불합격 문자열을 출력하는 필수 연습문제(1)에서 문자열을 출력할 때도 저 소스코드 처럼 활용해보려고 문자열 배열 변수를 초기화해놓고 출력해보려 아래 처럼 시도를 해보았는데, 에러가 발생하더라구요int main(void) { unsigned int score = 0; char result[32] = { 0 }; scanf_s("%d"m &score); result = (score >= 80) ? ("합격") : ("불합격"); printf("결과: %s\n", result); return 0; }그래서 강의에서 알려주신 것처럼 printf 함수에 저 조건 연산자 식을 넣어서 맞추긴 했는데.. 위 코드는 왜 안되는건지 궁금합니다!
-
해결됨독하게 시작하는 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를 이용하면 매개변수의 데이터 변경을 제한할 수 있을텐데 따로 언급이 없으셔서 말씀드려봅니다!
-
해결됨독하게 시작하는 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를 빼고 코드를 실행한다면 어떻게 되나요? 출력결과는 같게 나오고 있습니다.
-
해결됨독하게 시작하는 C 프로그래밍
malloc 함수의 형변환(?) 질문드립니다!
(int*)malloc( sizeof(int) * 4 )(char*)malloc( sizeof(char) * 4 )와 같이 malloc 함수 선두에 등장하는 (자료형*)은 무엇을 의미하고 어떻게 작동하는 것인지 알고 싶습니다! 항상 좋은 강의 감사드립니다!
-
미해결리눅스 시스템 디버깅
gdb
강사님 궁금한게 있는데요.수업 시간에 배운 gdb를 이용해 레디스 디버깅을 해보고 있는데next를 할 때 명령어 한줄 내려가서 멈추는게 아니라 여러줄 내려가서 멈추는데 한줄 한줄 내려가게 할 수 없을까요?
-
해결됨독하게 시작하는 C 프로그래밍
연령별 버스 요금 계산 문제에서 범위에 따른 결과 차이
저는 65세를 기준으로 제어문을 만들어 보았습니다。 다만 어린이 요금 부분에 (4<= age <= 13과(age <=13)사이에 결과값에 차이가 생기는데 왜 차이가 생기는지 궁금해요