묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨독하게 시작하는 C 프로그래밍
변수이름 약자 질문드립니다.
char szBufferSrc[12] = {"TestString"};,char* pszSrc변수에서 sz와 psz가 의미하는 약어가 무엇인가요??문득 궁금증이들어 질문합니다 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
피드백 부탁 드립니다 ~! (달팽이 배열)
냉정하게 평가해주시면 감사하겠습니다 (●'◡'●)자주 피드백 요청 드려도 될까요??
-
해결됨독하게 시작하는 C 프로그래밍
세 정수 총합 계산하기에서 input 변수
input값을 total에 누산하는 단계마다 input 변수 값을 0으로 중간중간 초기화 안해줘도 괜찮을까요??
-
해결됨독하게 시작하는 C 프로그래밍
Quick Sort 해봤습니다 (feat.너무 어렵습니다)
제 나름대로 머리 짜서 작성 했습니다 다만 약간 억지로 짜서 맞춘 느낌이 강합니다.숙제는 아니라고 하셨지만 숙제라는 생각으로 제출해봅니다.피드백 주시면 감사합니다😊😊
-
미해결독하게 시작하는 C 프로그래밍
강의 "16진수 표기가 사용되는 예" 에서의 질문
해당 강의에서 보여주시는 메모리 화면에서 메모리 주소 오른쪽에 있는 문자들은 앞에 0x가 따로 없는데도 16진수라고 하셨는데, 저 문자들은 그냥 16진수 읽기로 약속된 문자들 이라고 이해하면 될까요 ?? 그리고 그렇다면 왜 앞에 0x가 붙어있지 않은지도 알려주실 수 있나요 ??
-
해결됨독하게 시작하는 C 프로그래밍
입력 버퍼가 화면에 뜨고 있는 것을 말하나요?
제가 scanf("%s",stringarr)를 이용해서 콘솔 입력(키보드)에 데이터를 이용하면 1. 화면에 커서가 깜빡깜빡 거리면서 콘솔화면(모니터)창에 쓰는 값이 보이는데 이게 입력 버퍼인가요? (그리고 이러한 버퍼는 일반적으로 4kB까지 입력을 칠 수 있는 건가요?)아니면 입력 버퍼는 저희 눈에 안보이고 "CON"이라는 파일안에 들어가 있는 건가요? 이 부분이 혼동이 옵니다. 리눅스에 man puts 를 쳐서 설명을 보니 개행 문자가 딸려온다고 써져 있습니다. puts("")로 치면 출력버퍼안에 \n이 있다는 말인가요? 그렇다면 출력 버퍼는 \n으로 인해 비워지게 된건지 궁금합니다 질문과는 다른 이야기인데 4kB는 페이지 크기도 4kB인데 이게 무엇을 기준으로 나눈 건가요?? ps/ 수업을 너무 많이 듣고 정리하면서 이러한 개념들이 혼동이 생기네요... 마음은 급하고 배울건 많고, 배운건 또 안보면 까먹고 왕도가 없네요 하하.. 항상 열심히 수업듣고있습니다. 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
scanf 사용 시, null이 먼저 들어가고 \n이 나중에 들어 가는건가요?
버퍼 공부하다가 궁금합니다.제가 이해한 바로는\n은 I/O 버퍼를 비우기 위해 사용하는 이스케이프 시퀀스 라고 이해했습니다.string에서char Id[7] = {1} 라고 초기화를 주고scanf("%s",Id); 이라고하고 코드를 작성합니다.작성한 코드를 프로그램에 컴파일 한 이후 런 타임때,"null" 을 입력하고 엔터를 치면Id의 0번 주소의 값은n1번 주소의 값은u2번 주소의 값은l3번 주소의 값은l이 됩니다.그렇게 하고 개행 문자인 엔터를 칩니다. 이때 여기서 궁금증이 생깁니다.버퍼안에 \0와 \n 어느 게 먼저 들어가는 건가요? \0 을 이용해서 문자열을 모두 읽었다고 표시를 한다고 이해했습니다.이렇게 하고 엔터를 치면개행 문자 \n이 들어가는데실제 메모리 상에서는null\01\n 으로 찍히는지 궁금합니다.
-
해결됨독하게 시작하는 C 프로그래밍
장치파일이 곧 드라이버를 구성요소 중 하나라고 봐도 될까요?
안녕하세요. 장치파일이 곧 드라이버를 구성요소 중 하나라고 봐도 될까요?드라이버를 조작하기 위한 인터페이스로 느껴지는데요. 제대로 이해하고 있는것인지 궁금합니다.아니라면, 드라이버와 장치 파일의 차이점이 궁금하고 각각 어떤 레벨에 위치하고 있는지 궁금합니다. 또한 필터를 통한다음 허용된 명령어일 경우에만 장치파일을 접근할 수 있는건지도 궁금합니다.
-
해결됨독하게 시작하는 C 프로그래밍
형식이 다른 숫자의 연산
안녕하세요 선생님 다름이 아니라 수업시간에 정수 숫자를 하나 입력받아서 처음에는 3으로 나누고 출력 다음 줄은 double형식으로 변환해서 3으로 나누어 출력하는것은 error 없어 출력이 잘되는데요아래와 같이 정수를 입력받아 double형식으로 변환 후 정수와 나머지를 계산하면 오류가 뜨던데이것은 실수형식과 정수형식을 나눠서 나머지를 구하면 너무나 많은 나머지의 소수점 자리수가 나와서 출력이 안되는 것인가요?(double)x/3는 출력이 잘되고 (double)x%3은 실행이 안되는 이유가 궁금합니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
메모리맵 입출력 - 주소공간의 개념에 대한 질문
안녕하세요! 교재와 같이 강의를 공부하고 있는 수강생 입니다. 복습을 하다, 한 가지 내용이 헷갈려서 질문드립니다. 메모리맵 입출력에서, '주소공간'이라는 개념이 나오는데, 이 개념이 이해가 되지 않습니다. 교재의 그림 설명에서처럼, 특정 입출력장치의 레지스터들은(데이터 레지스터, 상태 레지스터, 제어 레지스터) 메모리가 아닌 그 입출력장치의 컨트롤러 안에 있습니다. 그런데 주소공간이라는 개념이 나오고, "그 주소공간의 516번지는 프린트 컨트롤러의 데이터레지스터로 약속했다"는 교재의 설명에서 개인적으로 주소공간과 메모리의 개념이 헷갈리네요..ㅠ여러번 읽어보고 주소공간은 결국 메모리이며, '메모리의 xx번지는 ~다'정도의 정보를 저장하는 것 같은데, 제대로 이해한 걸까요? 양질의 강의 제공해주셔서 감사합니다.ㅎㅎ
-
해결됨독하게 시작하는 C 프로그래밍
주소끼리 뺄셈
안녕하세요 널널한 개발자님 강의를 듣고 있는 초보자 수강생입니다.강의를 듣던 중 궁금한 사항이 있어 질문드립니다.아래에서와 같이 pszData와 szBuffer는 주소인데 pszData-szBuffer처럼 주소끼리의 뺄셈이 원래 가능한건가요? 답변 부탁드리겠습니다.
-
해결됨독하게 시작하는 C 프로그래밍
필수 실습문제 1
안녕하세요독하게 시작하는 C언어 프로그래밍 필수 실습문제 1번 질문있습니다. 문제는 나이와 이름을 입력받아 출력하는 문제인데요저는 이름을 입력받을 문자배열을 선언할때 어떤 길이가 나올지 모르니 최대한 많은 공간을 미리 확보하기 위해 char ch[ ] = {0}; 으로 선언했는데 이렇게 하면 오류가 뜨고 선생님처럼 char ch[32] = {0}; 문자배열의 길이를 선언해야 오류 없이 실행되더라구요문자배열을 어느 길이로 입력 받을 지 모르니 저처럼 설정하면 왜 안되는 걸까요? 또한 scanf_s("%d%c", %x); 구문에서 입력받은 변수가 int 형으로 정수를 입력 받았는데그럼 scanf_s("%d%d", %x); 이렇게 입력해야 맞는 것 아닌가요?왜 scanf_s("%d%c", %x); 이렇게 입력해도 실행이 되는 지 궁금합니다
-
해결됨독하게 시작하는 C 프로그래밍
선생님 질문 있습니다.
매번 질문에 답해주셔서 너무 감사합니다이번 내용 이해하기 쉽게 해주셔서 머리에 쏙쏙 들어왔습니다.혹시 이 코드들 중에 문법적으로 오류나 아니면 이렇게 하는 습관(?)은 안 썼으면 하는 게 있으시다면 알려주세요! 미리 감사드립니다.😊
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
코어와 하이퍼스레드 관계 질문
안녕하세요. 코어와 하이퍼스레드간의 명령어 처리개수에 대해 궁금한점이 있어서 질문드립니다. 빠른 CPU를 위한 설계기법 챕터에서 하드웨어 스레드라고 설명주신 하이퍼스레드기술이 적용된 CPU는 4코어 8스레드의 경우, 8개의 명령어를 한 번에 처리할 수 있다고 말씀을 주셨습니다. 근데 제가 기존에 알고있던 하이퍼스레드의 경우 CPU내의 다양한 유닛들 (ALU, FPU 등) 중 잉여자원이 있을시 이를 끌어다가 대신 활용하는 방식으로 알고있습니다. 즉 경우에 따라서 자원이 남아있다면 사용할 것이고 부족하다면 사용하지 못할텐데 ( 설령 자원이 있더라도 유닛의 목적과 다른 기능을 한다면 정상적인 성능을 뽑아낼지도 의문이긴 합니다. ) 이를 8개의 명령어를 처리할 수 있다고 봐도될지 궁금합니다. 질문을 좀 정리하면 제가 이해한 방식이 하이퍼스레딩, 즉 하드웨어 스레드가 맞는걸까요 ?하이퍼 스레드가 적용된 4코어 8스레드 CPU의 경우 8개의 명령어가 아닌 '최대' 8개의 명령어까지 처리할 수 있다고 보면될까요 ?2번 항목에 의해 8개의 명령어를 처리할 수 있다고 했을때 8코어 8스레드와 동일한 수준으로 봐도 될지 궁금합니다.
-
해결됨독하게 시작하는 C 프로그래밍
한 솔루션 안에 여러 프로젝트
강사님 안녕하세요 항상 질좋은 강의 감사드립니다.올려주신 예제파일처럼 한 솔루션 파일 안에 여러 프로젝트를 넣는 방법은 무엇인지 궁금합니다.프로젝트를 생성하면 아예 새로운 솔루션으로 생성이 되어버려서요,,
-
미해결독하게 시작하는 C 프로그래밍
필수실습문제-버블정렬 설명에 대한 질문
강사님께서 설명하시는 버블정렬에 대한 설명을 듣고 질문 드립니다.해당 영상의 초기 부분에 버블정렬에 대해 설명을 해주시는데, 해당 설명이 버블정렬에 대한 설명이 맞는지 문의드립니다.설명해주신 내용은 선택 정렬이 아닐까 생각이 듭니다.버블정렬은 맨 왼쪽 부터(작은수) 정렬되는 것이 아닌 가장 오른쪽(큰 수)부터 정렬이 되는 것으로 알고 있습니다.1회차에서 가장 큰 값이 정해지고 그 다음 회차를 반복하면서 그 다음 으로 큰 수가 정해지는 방식으로 알고 있는데요, 그런데 영상 속 설명에서는 가장 왼쪽 값(작은 수)가 정해지면 1회차가 종료되며, 그 뒤에 그 다음으로 작은 수를 구하는 방식으로 진행하는 것으로 설명하는 것으로 보입니다.확인 부탁드립니다감사합니다. 참조 링크: https://ko.wikipedia.org/wiki/%EB%B2%84%EB%B8%94_%EC%A0%95%EB%A0%AC
-
해결됨독하게 시작하는 C 프로그래밍
필수 실습문제 '*' 출력놀이 응용 부분 관련 질문
#include <stdio.h>int main(void){ for (int i = 0; i < 5; ++i){for (int j = 0; j < 5; ++j){if (i + j < 4)printf(" ");elseprintf("*");} printf("\n");}for (int i = 0; i < 5; ++i){for (int j = 0; j < 9; ++j){if (i + j < 5 || j - i > 5)printf(" ");elseprintf("*");} printf("\n");} return 0;}이런 식으로 코드를 짰는데 제가 보기엔 제 코드에 문제가 없는데 삼각형 문제에서 출력 결과가 사진과 같이 나와요 i가 4이고 j가 8일 때 왜 "*"이 아닌 " "가 출력 되는지 모르겠어요.
-
해결됨독하게 시작하는 C 프로그래밍
이 부분에 오류가 있는지 궁금합니다.
제가 문제를 풀다 보니 이런 식으로 항A 값에 식을 만들어 버렸습니다.오류 없이 잘 진행되고 값도 잘 나오고 해서 문제 없다고는 생각합니다만혹시 제가 모르는 오류가 있을까봐 질문드립니다.미리 감사드립니다 ^^
-
해결됨독하게 시작하는 C 프로그래밍
정수형 - char
기초적인 질문이지만..char의 음수부분 어떤때에 사용하는지 궁금합니다.char 의 양수 번호같은 경우는 ascii코드 베이스로 사용하는걸 알겠는데 음수부호를 가지고 char를 사용하게 되는 경우는 어떨때 사용하는걸까요? 그리고 어떤때에 unsigned char를 사용해야하는가도 궁금하네요..ㅎ
-
해결됨독하게 시작하는 C 프로그래밍
buffer란 H/W인가요 S/W 인가요?
강의에서 buffer란 ram의 일부분에 속해 있다고 하셨는데 후에 "hello world"를 print하는 과정에 대해 설명하실 때 file(인터페이스)에 buffer 공간이 있다고 하셔서 헷갈립니다