묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨독하게 시작하는 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 프로그래밍
선생님 질문 있습니다.
매번 질문에 답해주셔서 너무 감사합니다이번 내용 이해하기 쉽게 해주셔서 머리에 쏙쏙 들어왔습니다.혹시 이 코드들 중에 문법적으로 오류나 아니면 이렇게 하는 습관(?)은 안 썼으면 하는 게 있으시다면 알려주세요! 미리 감사드립니다.😊
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
연결리스트 삭제 시 헤드노드 NULL인 경우 예외처리의 필요성 재고
연결리스트 삭제 시 헤드노드가 NULL인 경우를 고려해야 하는 이유가 궁금합니다. 삭제 전에 삭제할 노드를 미리 찾는 과정이 수반되는데, 그 과정은 헤드노드가 NULL값이 아니라는 것을 전제로 이루어집니다. 따라서 삭제할 노드를 찾아서 삭제를 진행하는 단계까지 왔다는 것은 헤드노드가 NULL이 아니라는 것을 전제로 한다고 볼 수 있습니다. 그럼에도 불구하고 삭제를 진행하는 함수에서 헤드노드가 NULL인 경우를 고려하시고 이에 대한 예외처리 코드를 작성하셨는데, 혹시 그에 대한 이유가 있을까요?
-
해결됨독하게 시작하는 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 공간이 있다고 하셔서 헷갈립니다
-
해결됨독하게 시작하는 C 프로그래밍
예제 파일은 어디서 다운 받을 수 있나요?
예제 파일은 어디서 다운 받을 수 있나요?
-
해결됨독하게 시작하는 C 프로그래밍
Little-Endian에 대해서 궁금합니다.
제가 이해한 대로 말씀드리자면 저희가 사용하는 intel의 cpu가 기본적으로 Little-Endian 방식을 채택한다고 하셨습니다.제가 사용하는 AMD의 cpu도 메모리 주소가 반대로 찍힙니다 그럼 AMD도 Little-Endian을 채택하는 것으로 이해하고 있으면 될까요??
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
이중 연결 리스트 AddNewNode 함수 질문
안녕하세요! 항상 좋은 강의 만들어주셔서 감사합니다! 강의 완강 후 복습하며 자료구조 구현 중에 질문이 있습니다. 이중 연결 리스트 구현 중 새로운 노드를 추가한 뒤, 앞뒤 노드의 pPrev와 pNext를 바꿔주는 과정에서 처음에는 pPrevNode를 새로 정의하지 않고 주석 처리한 부분으로 앞 노드와 관계를 정리했는데, 이렇게 하니 이전 노드의 pNext의 값이 pNewNode의 주소로 제대로 바뀌지 않는 것 같았습니다. 혹시 이렇게 되는 이유가 궁금합니다
-
해결됨독하게 시작하는 C 프로그래밍
예제 다운 후 한글 깨짐
안녕하세요, Visual Studio 2022 Community 버젼을 사용하고 있는데 다운 후 파일들을 보니깐 파일이 깨져 있는데 혹시 해결법이 있을까요?
-
해결됨독하게 시작하는 C 프로그래밍
PDF관련 질문
PDF 파일 다운받기 위해 유튜브 멤버십 가입 후 다운로드를 마쳤습니다 강의 제목중 강의자료 PDF 포함 그리고 인쇄용 흑백자료 포함 예제파일 포함이라고 나와있는건 교재용 PDF파일과 예제용 PDF 파일을 참고하며 수업진행해야한다는 뜻일까요?
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
pTmp 변수를 사용하는 이유
노드를 추가하는 함수나 해제하는 함수에서 헤드노드를 pTmp변수에 대입한 후에 pTmp값을 가지고 코드를 짜는 게 이유가 있나요? 그냥 pTmp를 사용하지 않고 바로 헤드노드를 사용해도 괜찮지 않나요?
-
해결됨독하게 시작하는 C 프로그래밍
교재 chapter 11장 5번 연습문제 관련 질문
안녕하십니까? 강사님교재 chapter 11장 5번 연습문제를 풀기 위해 coding을 했습니다. 프로그램은 작동 하는데 첨부 화면캡처 사진 14번행에 밑줄이 생겼는데 읽어봐도 무슨 말인지 알수가 없습니다.설명을 부탁드려도 될까요?혹시 저 밑줄을 없앨 수 있는 방법이 있을까요?수고하십시오
-
해결됨독하게 시작하는 C 프로그래밍
변수들이 stack frame에 할당되는 구조에 대하여
우선 강의 내용 정말 만족하면서 잘 듣고 있습니다.섹션 16의 "가변 길이 입력에 대한 stack frame 손상" 강의편에서Callee로 GetString 함수를 활용하여 디버깅 모드로 메모리 주소를추적하는 과정에서 질문드려요.스택 구조는 높은 메모리 주소에서 낮은 메모리 주소 방향으로할당 받는 구조로 알고 있는데, char 배열이 int형 변수보다낮은 메모리 주소에 할당이 되어서 질문 드립니다.제가 따로 여러 변수들을 적용하여 디버깅 해보았는데도 마찬가지더라고요.혹시, os에 따라 변수가 할당되는 스택 메모리의 순서가 다른건지 궁금해서 질문드려요.
-
미해결Windows 시스템 프로그래밍 - 기본
게임 개발자를 희망하는 학생인데 질문이 있습니다!
게임 서버 프로그래머 지망생에게 이 강의를 추천 하신다기에 수강하게 되었는데요.아직 강의 초반이지만 winapi에서 쓰이는 구조체나 함수들이 계속 등장하는 것 같은데 해당 지식들이 실제로 게임 업계 실무에서 사용되는 지식들인가요? 그렇다면 강의에 나오는 내용을 꼼꼼히 머릿속에 넣어야 하겠지만지엽적인 개념보다 큰 틀(os와 관련된 지식들)이 중요한 것이라면 직접적인 winapi 사용법 보다는 os 관련된 지식을 중점으로 공부하려고 하는데 어떤 방법을 추천하시나요?
-
해결됨독하게 시작하는 C 프로그래밍
%zd 관련 질문
안녕하십니까? 강사님.교재 p409에 보면 printf("[%p] %d %s\n" pszNewBuffer, _msize(pszNewBuffer), pszNewBuffer); 로 나와있는데 "동적 할당된 메모리구조와 realloc()" 동영상 내에 있는 예제 파일에는 printf("[%p] %zd %s\n" pszNewBuffer, _msize(pszNewBuffer), pszNewBuffer);로 나와있습니다. 어떤때 %zd를 사용하는지 궁금합니다수고하십시오