묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
시즌 2, 3 는 언제 수강할 수 있을까요?
안녕하세요.너무 좋은 강의 재밌게 잘 들었습니다.시즌 1으로만 끝나면 너무 아쉬울것 같습니다.혹시 시즌 2, 3 를 계획하고 계시다면 언제쯤 수강할 수 있을까요?
-
미해결홍정모의 따라하며 배우는 C언어
10.18 강의에서 복합 리터럴의 주소
강의 7분경쯤 포인터와 복합 리터럴에 대해서 설명해주시는데, 살짝 헷갈리는 부분이 있습니다. 원래 포인터를 초기화해줄 때에는 주소를 대입해줘야하고 ptr = 1024;와 같이 literal 상수 그 자체를 대입해주게 되면 에러가 발생한다고 배웠습니다. 이 강의에서는 복합 리터럴 그 자체를 포인터가 가르키는 주소에 대입해주는데(?) 그럼 이때 복합 리터럴이 포인터에 대입됨과 동시에 선언되면서 리터럴 자체가 가지는 주소가 생기는 건가요?변수를 선언하면 메모리 주소를 지정되고 우리가 사용할 수 있는 것 아니였나요?그냥 리터럴 자체가 메모리 주소에 지정되게 만들 수도 있는건가요? 복합 리터럴은 어떻게 메모리에 지정되고 우리가 사용할 수 있는 것인지 궁금합니다.
-
해결됨홍정모의 따라하며 배우는 C언어
배열의 data type
강의 4.1을 듣다가 의문이 생겨 질문 남깁니다. character type의 변수명 뒤에 [n]을 적으면 해당 공간만큼의 배열을 저장할 수 있는 변수가 되고 그에 대한 format specifier도 %c에서 %s가 된다고 했는데, 변수 앞에 적는 data type은 그냥 char로 변함이 없는 건가요? (직관적으로 생각해보면 str로 적어야 할 것 같아서요!) 궁금합니다!
-
해결됨홍정모의 따라하며 배우는 C언어
FLT_MIN과 FLT_TRUE_MIN의 차이
3.12 부동소수점의 한계에서 underflow 오류의 예시를 들어줄 때 FLT_TRUE_MIN의 값을 copy해서 사용하셨는데 min과 true_min의 차이가 궁금합니다. normalized의 차이인 것 같은데 자세히는 모르겠어요 ㅠㅠ
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
2024년 1회 기출 23:10 질문 자바실행순서
Parent 클래스가 자료형Child 클래스가 생성자로 // 업캐스팅이름이 parent 인 객체를 만들었는데parent.x parent.y 를 했을경우 값이 어떻게 출력돼나요?변수x는 부모랑 자식에 둘다 있어서 모르겠습니다 상속을 받는 경우 , 기능(매서드)을 상속받고변수들은 어떻게 되는건가요?Static 처럼 타입형을 참조하는건가요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
이론 통합 요약본 sql과 조인 정리 페이지에서
ddl dml dcl 부분에서 dcl이 리보크랑 그란트가 들어가는걸로 아는데, tcl 부분이 나온거 같아 오타인지 문의드립니당
-
미해결Windows Debugging Tips
소스코드
강의에서 보여주신 소스코드 혹시 수강하시는 분들위해 보여주실 수있으신가요?? 설명을 듣고 해당 코드를 기반으로 실습해보고싶습니다!!
-
미해결홍정모의 따라하며 배우는 C언어
3강6절
_itoa가 왜 계속 에러가 뜨는지 모르겠어요......
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
39:33 res 리턴값
너무 잦은 질문 죄송합니다.몇번을 돌려봐도 리턴이 헷갈리네요 재귀함수를 통해 int res = 15 를 구한다음메인함수에 int sum=nSum(n)에 들어 가는거 같은데res가 갑자기 nSum에 리턴이 되는걸 어떻게 이해해야 될지 모르겠습니다. 첫번째 호출->자기자신 호출까지는 이해했는데결과값이 리턴하는 순서? 공식?이 잘 정립이 안되네요 ㅠㅠ
-
해결됨독하게 시작하는 C 프로그래밍
예제를 풀었는데 이런 방법도 가능한지 피드백 부탁드립니다.
#include <stdio.h>int main() { int nArray[5][5] = { 0 }; int cnt = 0; int tnt = cnt + 5; for (int i = 0; i < 5 ; ++i) { if (i%2 == 0) // 짝수 홀수구분 for (int j = 0; j < 5; ++j) { nArray[i][j] = ++cnt; } else for (int k = 4; k >= 0; --k) { nArray[i][k] = ++cnt; } } for (int i = 0; i < 5;++i) { for (int j = 0; j < 5; ++j) { printf("%d ", nArray[i][j]); } putchar('\n'); } printf("%d", cnt); return 0;} i값을 짝/홀 수로 분류하는 것 까지는 동일한데 열 부분을 보수 생각을 못하고 for문을 하나 더 돌려서4에서부터 1씩 감소하는 방향으로 풀었는데 논리적으로 오류가 없을까요?
-
해결됨독하게 시작하는 C 프로그래밍
int[5][5] 배열 실습 과제 관련 질문
안녕하세요.강사님 강의 잘 듣고 있습니다. 좋은 강의에 먼저 감사 드립니다. 본 강의에서 int[5][5] 배열에 1 ~ 25 값을 입력하는 프로그램을 작성하는 중에 강사님께서는 for 문을 두 번 사용하여 작성하였고, 저는 for문을 1회 사용해서 과제를 수행했습니다. 전체 loop 횟수는 25회로 동일한 것으로 보이나 혹시 두 코드 간 속도 차이가 존재하는지 궁금합니다. 요즘 컴퓨팅 성능이 워낙 좋아 큰 문제는 되지 않겠지만 궁금증이 생겨서 질문 남깁니다. 아래는 제가 작성한 코드 입니다. #include <stdio.h>#include <stdlib.h>int main(void){ int aList[5][5] = { 0 }; for (int i = 0; i < countof(aList) * countof(aList[0]); i++) { if (i != 0 && i % 5 == 0) { printf("\n"); } printf("%2d ", aList[i / 5][i % 5]); aList[i / 5][i % 5] = i + 1; } printf("\n"); for (int i = 0; i < countof(aList) * countof(aList[0]); i++) { if (i % 5 == 0) { printf("\n"); } printf("%2d ", aList[i / 5][i % 5]); } return 0;} 감사합니다.좋은 하루 보내세요 :)
-
해결됨독하게 시작하는 C 프로그래밍
프로그래밍에서 과정과 결과 중에 어떤게 더 중요한가요
문제를 풀고 정답을 맞춰서 기분이 좋던 와중, 선생님의 답안과 비교해 보다가 문득 조금 다른 풀이과정이 있어서 질문드립니다. 먼저 제 코드는 아래와 같습니다. int main(void){ int n[5] = { 2,5,3,1,4 }; int nmin = 0; for (int i = 0; i < 5; ++i) { for (int j = i ; j < 5;++j) if (n[i] > n[j]) { nmin = n[j]; n[j] = n[i]; n[i] = nmin; printf("%d %d %d %d %d\n", n[0], n[1], n[2], n[3], n[4]); } } for (int u = 0; u < 5; ++u) printf("%d", n[u]);} 빨간색으로 표시 해 둔 부분이 강사님과 조금 다른 부분이 있습니다. 모범답안(?) 에는 변수 j = i +1 으로 설정해라 가 정답이었고 저는 j = i 로 설정했었습니다. 만약 이러한 경우에 과정이 조금 다르다고 해서 틀린 부분을 끝가지 더 이해하고 복기하는 방법론이 나을까요 아니면결과에 조금 더 집중하고 전체적인 진도를 우선시 하여 가져가는 게 나을까요? 추가로 저의 상황은 저는 방통대 컴과 학과에 편입 준비중에 있고 프로그래밍의 이해를 위해 C언어를 먼저 수강중인 학생입니다. 추후 java와 같은 객체지향 언어를 공부 할 계획에 있습니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
sum+=arr[i] 합계 문의
14:28 부분인데요밑에 어느분이 합계 25로 나왓는데 이해가 안간다는 글을 봣습니다. 저도 결과는 다르지만 이 부분이 이해가 안됩니다.for문으로 수행될때....sum=+arr[i]1 0 13 1 26 3 310 6 4i=5는 수행이 안됨 이렇게 해서 sum값이 10이 안될까요?왜 1+2+3+4+5 의 값 15가 되는지 이해가 안되네요
-
해결됨독하게 시작하는 C 프로그래밍
for문 문제 하나로 5시간 썼습니다
공백 * 출력 놀이 응용인데요오늘 오전10시반부터 지금 오후 4시30분인데 밥먹는 시간 빼고 최소 5시간 이상 썼는데도 답이 안나오네요. 그냥 답을 보고 외우는게 좋을까요? 성격상 수학문제 풀때도 답지 절대 안보고 끝까지 싸매는 스타일인데 너무 비효율적일까요..
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
15:50초 length 코드 처리순서 질문
15:50초에 3가지 예시의 모든 출력값이hello, world! 라고 하셨는데요마지막 예시인 length 처리순서가 잘 이해가 안갑니다1)문자열 길이 계산에서 0부터 시작되고 13까지 가는건가요?(공백, 콤마, 느낌표까지 포함)2) 다음 줄에 증감++ 되어 13까지 가고 탈출되어 for문으로가는건가요?3) for 문 내 length 변수는 int에서 선언된 값이 들어가는지요?
-
해결됨독하게 시작하는 C 프로그래밍
클래스 뷰 설정하는 법
초입부에서 클래스 뷰를 이용하여서 실행 설정해서 보라고 하셨는데 제가 직접 프로젝트 추가하면서 확인하고 싶어서 새파일을 추가하는데 클래스 뷰에는 선생님처럼 나오지 않아서 매번이렇게 빌드 제외하고 컴파일실행하고 있습니다. 어떻게 클래스 뷰를 이용하여 간편하게 빌드할 수 있는지 알려주세요.
-
미해결홍정모의 따라하며 배우는 C언어
10.9 강의에서 9분경 casting
워닝을 막기 위해 데이터타입을 임의로 바꿔주고 있는데double형 변수의 주소값을 저장하기 위해선 포인터도 똑같이 double형으로 선언해줘야한다고 배웠습니다.강의에서처럼 임의로 int형 포인터로 바꾸면 원래 double형의 주소값을 저장하고 있던 포인터 변수에는 아무런 변화가 없나요? 제가 맞게 이해하고 있는 것인지 모르겠습니다만,예를 들어 그냥 일반적인 변수 casting을 할 때,실수 float형을 int형으로 형 변환을 한다면 int형은 float형에 담겨있던 데이터를 모두 나타내지 못 하기 때문에 소수점 뒤에 있는 숫자들이 잘리면서 데이터에 변화(?)가 생기지 않습니까? 포인터 변수에서는 이와 같은 문제가 생기지 않는 것인지 궁금합니다.
-
해결됨독하게 시작하는 C 프로그래밍
강의를 듣는데 하나도 못 하겠어요..
이 강의 수강 전에 유튜브에서 C언어 코딩에 대해서만 배웠습니다.이론위주로 하다가 실습예제 하려니까 하나도 작성을 못 하겠어요..처음에 Hello World 출력하다가 갑자기 값 초기화 설정해서 scanf 작성하면서 여러 변수 작성하고 알수없는 미로에 빠진 것 같네요C언어 포기하는게 맞을까요
-
해결됨홍정모의 따라하며 배우는 C언어
values[ ]와 * values 관련 질문드립니다.
안녕하세요. 강의를 들으며 필기를 하던 중 확신이 가지 않는 부분이 있어 질문드립니다.아래에 작성한 코드에서 동적 메모리 할당을 통해 FAM과 구조체를 어떻게 연결하여 활용할 수 있는지 대한 과정을 주석으로 정리했습니다. 이 과정이 정확한지 확인 부탁드리며, 또한 FAM을 구조체의 마지막 멤버로 선언해야 하는 이유가 해당 과정으로 인한 규칙인지 궁금합니다.또 필기 중 제가 이해한 부분에 틀린 내용이 있다면 피드백 주시면 감사하겠습니다. [ 필기 내용 ]values[ ]는 메모리 차지 x , * values는 포인터 변수 자체가 메모리 차지 values[ ]는 구조체와 같은 메모리 블록에 존재, * values는 구조체와 독립된 메모리 블록에 위치struct flex* pf = (struct flex*)malloc(sizeof(struct flex) + n * sizeof(double)); // 동적 할당으로 sizeof(struct flex) + n * sizeof(double) 크기의 메모리 할당 // 이 메모리를 struct flex* 타입으로 캐스팅 (해당 메모리의 주소를 struct flex*로 사용할 것을 지정) // 다른 멤버의 크기 (구조체의 고정 멤버) sizeof(struct flex) 계산 후, 남은 공간을 배열이 차지 다른 구조체 포인터 변수에 값 대입 시 values[ ]의 메모리(값)는 복사 x, * values는 원본과 같은 메모리 참조
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
current 매크로를 이용할때 sp_el0 를 활용하는 이유
안녕하세요. 좋은강의 감사합니다.설명해주신대로 코드를 보면 sp_el0 를 이용해서 current 주소를 얻어온다는것을 이해할 수 있었습니다. 그런데 문득 sp_el1 도 있을텐데 왜 sp_el0 를 활용한건지 궁금합니다. sp_el0 는 user process 들이 활용하는 sp 이고 sp_el1 은 kernel process 들이 활용하는 sp 로 알고 있는데 요,그런용도가 아니라 그냥 sp_el0 를 모든 process 의 task_struct 의 시작주소를 저장하는 용도로 활용하는걸까요? <arch/arm64/include/asm/current.h>15 static __always_inline struct task_struct *get_current(void) 16 { 17 unsigned long sp_el0; 18 19 asm ("mrs %0, sp_el0" : "=r" (sp_el0)); 20 21 return (struct task_struct *)sp_el0; 22 } <arch/arm64/kernel/entry.S>829 SYM_FUNC_START(cpu_switch_to) 830 mov x10, #THREAD_CPU_CONTEXT 831 add x8, x0, x10 832 mov x9, sp 833 stp x19, x20, [x8], #16 // store callee-saved registers 834 stp x21, x22, [x8], #16 835 stp x23, x24, [x8], #16 836 stp x25, x26, [x8], #16 837 stp x27, x28, [x8], #16 838 stp x29, x9, [x8], #16 839 str lr, [x8] 840 add x8, x1, x10 841 ldp x19, x20, [x8], #16 // restore callee-saved registers 842 ldp x21, x22, [x8], #16 843 ldp x23, x24, [x8], #16 844 ldp x25, x26, [x8], #16 845 ldp x27, x28, [x8], #16 846 ldp x29, x9, [x8], #16 847 ldr lr, [x8] 848 mov sp, x9 849 msr sp_el0, x1 850 ptrauth_keys_install_kernel x1, x8, x9, x10 851 scs_save x0 852 scs_load_current 853 ret 854 SYM_FUNC_END(cpu_switch_to) 855 NOKPROBE(cpu_switch_to)