묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결홍정모의 따라하며 배우는 C언어
포인터와 변수
포인터와 변수의 타입을 맞춰야하는 이유는 무엇입니까? 예를 들어 int a = 7; 이면 int* a_ptr = &a; 처럼 타입을 맞추는 이유는 무엇입니까?
-
미해결윤파고의 정보처리기사 DB/프로그래밍 All-In-One
ㅋㅋㅋㅋㅋ
프로그래밍 ㅋㅋㅋㅋ ㅈㄴ 강의대충햇누
-
미해결홍정모의 따라하며 배우는 C언어
질문있습니다.
C언어는 위에서부터 아래로 코드, 줄이 실행됩니까?
-
미해결홍정모의 따라하며 배우는 C언어
메모리 크기
포인터를 공부하면서 메모리 1칸의 크기가 햇갈려서 질문합니다.컴퓨터의 메모리 1칸의크기는 1byte이고 double형 변수를 만들면 double은 8byte이니까 8칸을 사용하나요?변수의 메모리 주소는 변수의 맨 첫부분 1칸 1byte의 주소를 뜻하나요?
-
해결됨홍정모의 따라하며 배우는 C언어
바이너리 파일을 읽을 때 관련해서 질문 드립니다.
안녕하세요. 13.5 강의를 듣고 실습 도중 궁금한 점이 있어서 질문 드립니다.수업처럼 sample.txt 파일을 하나 만들고 나서 fread()로 파일을 어떻게 읽는지 궁금해서 frwite()로 쓸 때와 다른 순서로 fread()를 해보았습니다. 그랬더니 순서를 맞췄을 때와 다른 결과가 나와서 관련되어 질문 드립니다. 우선 다음과 같이 코드를 작성했습니다.#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { // FILE write { FILE* fp = fopen("sample.txt", "wb"); int n = 100; double d = 10.0; float f = 3.14f; int* parr = (int*)malloc(sizeof(int)*n); if (!parr) exit(1); for (int i = 0; i < n; ++i) *(parr + i) = i * 2; fwrite(&n, sizeof(n), 1, fp); fwrite(&d, sizeof(d), 1, fp); fwrite(&f, sizeof(f), 1, fp); fwrite(&parr, sizeof(parr), 1, fp); } // FILE read { FILE* fp = fopen("sample.txt", "rb"); int n = 0; double d = 0.0; float f = 0.0f; size_t c0 = fread(&n, sizeof(n), 1, fp); printf("n: %d\tcount:%d\n", n, c0); size_t c2 = fread(&f, sizeof(f), 1, fp); printf("f: %f\tcount:%d\n", f, c2); size_t c1 = fread(&d, sizeof(d), 1, fp); printf("d: %f\tcount:%d\n", d, c1); int* parr = (int*)malloc(sizeof(int) * n); if(!parr) exit(1); size_t c3 = fread(&parr, sizeof(int), n, fp); printf("parr: %d\tcount:%d\n", *parr, c3); printf("fepf: %d\n", feof(fp)); free(parr); fclose(fp); } }size_t c1 과 size_t c2 의 코드상 순서를 위와 같이 했을 때는 출력 결과가 다음과 같았습니다.출력 결과 n: 100 count:1 f: 0.000000 count:1 d: 49.920021 count:1 parr: -842150451 count:100 feof: 1size_t c1 과 size_t c2 의 코드상 순서를 뒤집어서 fwrite()을 했을 때와 동일하게 한 경우 출력 결과가 다음과 같았습니다.출력 결과 n: 100 count:1 d: 10.000000 count:1 d: 3.140000 count:1 parr: -842150451 count:100 feof: 1여기서 질문입니다.파일을 fread()로 sample.txt 파일을 읽을 때마다 인자로 입력한 크기만큼 책 읽듯이 앞에서 부터 데이터를 읽어서 파일 쓰기 값과 다른 f와 d의 결과가 나온 것일까요? 바이너리 파일을 읽을 때 fwrite()한 데이터 순서 상관 없이 존재하면 읽을 수 있는 방법이 있을까요? 웬지 일반적인 방법으로는 안될 것 같은데 순서대로 읽을 수 밖에 없는 것일까요?또한 바이너리 파일 안에 어떠한 데이터 타입 포함되어 있는지 알 수 있는 방법이 있을까요?*parr의 경우 printf()로 출력하면 0이 출력 될 것이라 생각했는데 비정상적인 값이 나와서 놀랐습니다. 여러 생각을 해보았으나 원인이 잘 떠오르지 않아 왜 이런 값이 나오는지 여쭙습니다. 수업 주제를 넘어서는 질문인 것 같은데, 교수님께서 중간에 언급하신 '바이너리 파일의 구조를 모르면 해킹과 같은 방법으로 데이터를 읽어야 한다'고 하는게 상상을 해보면, 처음 부분부터 순차적으로 맞는 데이터를 찾을 때까지 (예를 들면) fread()를 반복해서 실행해 값을 확인하고 다음 데이터로 넘어가고를 반복하는 것일까요?
-
해결됨홍정모의 따라하며 배우는 C언어
if(!parr) exit(1); 을 하는 이유에 대해 질문 드립니다.
안녕하세요. 13.5 강의를 듣고 실습 중에 궁금증이 생겨 질문 드립니다. FILE* fp = fopen("sample.txt", "rb"); int n = 100; int* parr = (int*)malloc(sizeof(int)*n); for (int i = 0; i < n; ++i) *(parr + i) = i * 2;위와 같이 if(!parr) exit(1); 부분을 빼놓고 코드를 작성하니 "NULL 포인터 parr+i 를 역참조 할 수 없다"고 MSVS에서 표기가 뜹니다.exit(1)은 프로그램을 종료 시키는 것으로 알고 있었는데 동적할당 메모리 parr이 처음 선언될 때 할당된 메모리의 첫 번째 주소를 리턴 받은게 아니라 NULL로 리턴을 받을 수 있는 가능성이 있어서 MSVS에서 미리 경고를 주는 것일까요?코드 실행 자체는 잘됩니다.
-
미해결홍정모의 따라하며 배우는 C언어
print_binary_loop 함수를 구현해봤습니다.
#define CRTSECURE_NO_WARNINGS#include <stdio.h>/* 10 10 / 2 = 5, remainder = 0 5 / 2 = 2, reminder = 1 2 / 2 = 1, reminder = 0 1 / 2 = 0, reminder = 1*/void print_binary(unsigned long n);void print_binary_loop(unsigned long n);int main(){ unsigned long num = 10; print_binary_loop(num); printf("\n"); print_binary(num); printf("\n"); return 0;}void print_binary(unsigned long n){ if (n > 0) { print_binary(n / 2); printf("%d", n % 2); }}void print_binary_loop(unsigned long n){ int i = 0, remain, v; for (int ans = n; ans > 0; ans = ans / 2) { //printf("ans : %d\n", ans); i++; } for (int j = 0; j < i; j++) { v = n; for (int k = i; k > j; k--) { remain = v % 2; v = v / 2; } printf("%d", remain); }}
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
56강 bcm2835-mailbox.c 파일 질문
빌드를 해보던 도중printk("dev_id:0x%x \n", (unsigned int)action->dev_id); 해당 줄에서 언사인드 인트가 포인터 인트 형 문제라고 하는데printk("dev_id:%p\n", action->dev_id);이렇게 바꿔서 진행해도 될까요?아니면 워닝 무시하고 해보면 되나요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
26년 실기
이 강의로 26년 실기 준비가능할까요?
-
해결됨홍정모의 따라하며 배우는 C언어
11.2 24분2초
여기서 헤드 포인터가 가리키는 데이터가 텍스트 세그먼트에 있기떄문에, 텍스트 세그먼트에 있는 데이터들은 프로그램이 만들어질떄 프로그램 파일에 포함이 되기 떄문에 수정이 불가능하다고 하셨는데,그 이전에 문자열은 읽기 전용 데이타 세그먼트에 저장된다고 하셨는데, 왜 24분2초쯤에선 읽기전용 데이터 세그먼트가 아닌 텍스트 세그먼트에 저장된다고 하시는지 이유가 궁금합니다.위 표의 프로그램 코드가 읽기 전용 데이터 세그먼트도 포함하는거라고 보면 될까요?
-
해결됨독하게 시작하는 C 프로그래밍
stdin, stdout
stdin과 stdout이 콘솔 장치 파일을 가리키는 포인터면 Windows에서는 CONIN CONOUT$을 가리키는 건가요?
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
마지막 열의 노드를 삭제하였을때 읽기 엑세스 위반 발생 건
안녕하십니까 '더미 헤드를 갖는 리스트로 개선 및 검증' 학습하던 도중에, 마지막 노드인 'jang'을 삭제할 시에 읽기 엑세스 위반 오류가 뜨면서 정상적인 종료가 되지 않았습니다. 디버깅으로 살펴보니 pPrev->pNext도 마지막 노드이다 보니 NULL인 상태에서 pPrev->pNext 도 동일하게 NULL 인상태에서 발생한 문제인듯 합니다. 제생각에는 마지막 노드를 삭제할때는 pPrev->pNext NULL 경우에 대한 IF 절을 넣는게 맞아보이는데 맞는 조치일까요?
-
해결됨독하게 시작하는 C 프로그래밍
필수 실습 (최댓값을 반환하는 함수)
안녕하세요 선생님 코드는 잘 돌아가는데 혹시 부족한 사항이 있는지 궁금하여 글 올려봅니다강의 정말 잘 보고 있습니다 감사합니다
-
해결됨독하게 시작하는 C 프로그래밍
아......ㅠㅠ
필기하는 소리가 왜 이렇게 크게 녹음이 되어 있는건지... 이해가 안가네요. 선생님 목소리 듣는데 너무 방해가 되요 ㅠ 미치겠네요 ㅎㅎ 이미 녹음된거 바꿀수도 없고, 스피커 볼륨을 최소로 해놓고 들어보겠습니다
-
미해결C언어 슈팅게임 따라만들기
1강이 안나오네요?
1강 영상이 안나오네요?
-
미해결홍정모의 따라하며 배우는 C언어
1.13 gcc main.c 실행파일이 안만들어집니다
다른분들이 남겨주신 글을보고 저장한 후에도 해봤지만 이렇게만 나오고 실행파일은 만들어지지 않습니다 어떻게 해야할까요PS C:\hjm c files> gcc main.cmain.c:1:10: fatal error: studio.h: No such file or directory1 | #include <stdio.h>| ^~~~~~~~~~compilation terminated.
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
'drivers/soc/bcm/bcm2835-power.o 에러 입니다.
실수방지 드라이버 만들기-1 10:00에서'drivers/soc/bcm/bcm2835-power.o가 찾을수 없다고 나오는데 보니까 bcm2835-power.c, raspberrypi-power.c 파일은 저폴더에 없던데 어디서 나오는건가요?
-
해결됨독하게 시작하는 C 프로그래밍
버퍼 내 엔터
제 컴퓨터에선 스캔시 엔터를 누르면 메모리에서 0a라고 뜨지않고 그냥 00이라고 뜨는데 차이가 있는 건가요?
-
해결됨홍정모의 따라하며 배우는 C언어
char cookies[1] = {'A',} 가 이해가 안되서 질문드립니다.
안녕하세요.char cookies[1] = {'A',};위 코드에서 이해가 안되는 점입니다.문자 배열은 NULL 문자까지 포함해서 크기가 2여야 하는게 아닌지요?위 배열 처럼 크기가 1인 경우 &cookies 주소의 바로 다음 주소가 NULL이되는 건지? (NULL은 어디에?)이를 확인해 보기 위해 printf("%c\n", *(&cookies[0]+1));을 해보았으나 ?가 출력되더라고요다른 질문을 보니 , (콤마)의 경우 자동으로 NULL문자를 만들어 주기 위함으로 붙이는데 크기가 1인 배열에도 붙여 줘야 하는건지 궁금합니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
정보처리기사 실기 | 25년 3회 기출문제 코드부분 1편 관련
안녕하세요, 강사님.매번 빠르게 기출 분석 및 해설 강좌 업로드 해주심에 대단히 감사드립니다!!! 😄글 제목과 관련된 위의 영상에서 말씀해주셨습니다만, 아직 인프런 강의 목록에서는 확인을 하지 못하여서요...2편은 포함하여, 강의 업로드 계획을 문의드리고자 글 남깁니다.항상 고생 많으십니다 ㅜㅜ감사합니다.