월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
동적할당 구조체
struct book* read_books(const char* filename, int * n_ptr) 의 정의 부분에서 struct book* books = (struct book*)malloc(sizeof(struct book) * *n_ptr); 이 부분에 관련해 질문이 있습니다. 처음에는 위에서 언급한 부분을 struct book* books [3]; 과 같이 작성했는데요. 이렇게 하면 for (int i = 0; i < *n_ptr; i++) { fscanf(file, "%s%^c", &books[i].name); fscanf(file, "%s%^c", &books[i].author); } 이 부분에서 &books[i].name와 &books[i].author 부분에서 에러가 나더군요. 그래서 혹시 malloc메모리로 받은 구조체의 배열에 다른 구조체 배열을 대입해 복사해서 넣으려면 둘 다 동적배열을 받은 구조체 배열이여야 가능한지 궁금합니다! 감사합니다:)!
- 미해결홍정모의 따라하며 배우는 C언어
질문드립니다.
24:32초 에서 int x = 1, y = 2; if (x++ > 0 && x + y == 4) { printf("%d %d\n", x, y); } 여기에서 x++가 && 연산자를 만나면 실행이 된다고 하셨는데 그러면 x++>0에서는 1>0 으로 비교를 하고 true가 된 이후에 1이 증가하여 2+2==4 를 비교하게 되는건가요? 아니면 2>0로 비교를하고 2+2==4가 되는건가요..?
- 미해결홍정모의 따라하며 배우는 C언어
2진수 0 - 1 빼기 계산법을 모르겠습니다
UINT_MAX + 1의 더하기 오버플로우 이진수표현은 이해가 갑니다 1111 + 1 -------- 10000 >> 0000 그런데 0 - 1 빼기 오버플로우 이진수표현은 이해가 안됩니다 10000 - 1 -------- 1111 빼기는 어떤 방식으로 계산되는지 이해를 못했습니다 혹시 더하기 방식과 동일하게 앞에 - 기호를 무시하고 0에 1을 대입하는 건가요? ex) 11111 >> 1111
- 미해결홍정모의 따라하며 배우는 C언어
질문드립니다.
질문1. char ch; while((ch = getchar()) != '\n') { putchar(ch); } putchar(ch); return 0; return 위의 putchar는 입력된 값들이 출력이 된 이후에 줄바꿈을 위해서 있다고 생각하면 되나요? 실행 결과 있을때는 줄바꿈이 되고 없을때는 줄바꿈이 안되더라구요. 질문2. char ch; while ((ch = getchar()) != '\n') { if (ch >= '0' && ch <= '9') // && = and ch = '*'; putchar(ch); } putchar(ch); 여기에서 if문 안의 0과 9를 문자로 받아 들이는 이유가 궁금 합니다.(getchar가 한 글자씩 입력받기 때문인가요?) 입력되는 값의 자료형을 int ch로 바꾸었을때도 실행은 잘 되더라구요. 그런데 if문 안의 0과 9에 ' '을 지우고 실행을 하였을 경우 *로 바뀌지 않더라구요.
- 미해결홍정모의 따라하며 배우는 C언어
visual studio preview 를 강사님께서 쓰시는데, 저는 community 인데 상관없을까요?
visual studio preview 를 강사님께서 쓰시는데, 저는 community 인데 상관없을까요? 감사합니다!
- 미해결홍정모의 따라하며 배우는 C언어
비유얼 스튜디오 코드
비쥬얼 스튜디오 코드에서 #include <stdio.h> int main() { printf("Hello!"); return 0; } 친후에 밑에 dir 치고 gcc를 치면 이렇게 나옵니다. 제가 무엇을 잘못하고있나요? mingw는 깔았습니다. path 환경변수에 들어간 후 교수님처럼 user에 대한 사용자 변수에서 chocolatey...가 없어서 새로만들기로 추가한 후 path에다가 mingw 경로를 복사해서 넣었습니다. 잘못된 점이 무엇인지 알려주시면 감사하겠습니다.
- 미해결홍정모의 따라하며 배우는 C언어
1.12 비쥬얼 스튜디오 설치 질문
path 경로 찾는 법에서 progra files(x86)->mingw-w64-> i686-8.1.0-posix-dwarf-rt_v6-rev0-> mingw32-> bin 까지 왔는데 bin을 들어가면 아무 파일이 없습니다. 해결할 수 있는 방법이 있을까요?
- 미해결홍정모의 따라하며 배우는 C언어
포인터 연산자...에 대해 질문있습니다~~!
안녕하세요~ 포인터 강의 듣던 중 옳게 이해한게 맞나 궁금하여 질문드립니다! int a = 7; int* ptr = &a; >> Line2 *ptr = 8; >> Line3 여기서 Line2에서 사용한 * 과 Line3에서 사용한 *은 차이가 있는거같은데 명확하게 설명하라하면 못하겠네요;; Line3에서 사용한 *는 간접참조(역참조) 를 수행하는 '연산자' 라면 Line2에서 사용한 *은 마치 자료형처럼 쓰는건가요? 무슨 차이인지 궁금합니다~
- 미해결홍정모의 따라하며 배우는 C언어
버퍼 엔터 지우기
안녕하세요:) 강의를 듣던 중 버퍼에 관련해 궁금증이 생겨 질문을 남기게 되었습니다. printf("Input the price.\n>>"); int flad = scanf("%f", &library[count].price); while (getchar() != '\n') continue; 해당 코드 부분에서 while (getchar() != '\n') continue; 을 작성하신 이유가 버퍼에 들어 있는 엔터를 지우려고 그런 것으로 알고 있습니다. 그런데 버퍼를 지우는 것이라면 fflush(stdin); 을 사용하더라도 되어야 하는게 아닌가 했는데, fflush를 사용해도 버퍼에 엔터가 남아있는 거 같더라고요. 왜 fflush를 사용했을 때는 안되는 지 알 수 있을까요? 강의 너무 잘 듣고 있고, 매번 질의응답 감사드립니다:)
- 미해결홍정모의 따라하며 배우는 C언어
질문드립니다.
복습하는 과정에서 scanf()에 \n를 사용하면 다음단계로 넘어가지 않는다고 메모를 해두었는데 검색을 해봤지만 잘 이해가 안되서 그런데 자세한 설명을 부탁드릴수 있을까요?
- 미해결홍정모의 따라하며 배우는 C언어
파일이 없는 경우
안녕하세요 강의대로 똑같이 따라하던중 6분 12초에 제 컴에는 저 폴더가 없습니다. 뭐가 문제인걸까요,,,...
- 미해결홍정모의 따라하며 배우는 C언어
flexible array member 질문 드립니다.
struct flex { size_t count; // 4 bytes double average; // 8 bytes double values[]; // Flexible array member }; const size_t n = 3; int main() { struct flex* pf = (struct flex*)malloc(sizeof(struct flex) + n * sizeof(double)); if (pf == NULL) exit(1); struct flex* pf2 = pf +1; printf("%lld\n", (long long)(pf)); printf("%lld\n", (long long)(pf2)); pf->count = n; pf->values[0] = 1.1; pf->values[1] = 2.1; pf->values[2] = 3.1; printf("%lld\n", (long long)(pf)); printf("%lld\n", (long long)(pf2)); printf("\n"); printf("%lld\n", (long long)(&pf->values[1])); printf("%lld\n", (long long)(&pf2->average)); } flexible array member를 가진 pf의 경우,sizeof 연산자는 pf->value를 0의 크기로 나타내는데,그 array에 값들이 들어갈 경우, 실제 메모리를 더 차지하게 되는데요!이런 상황에서 포인터 연산으로 pf2를 만들어 줬을때 , 제가 첨부한 코드처럼위의 flexible array 멤버가 pf2 의 영역을 침범하는 경우가 발생하지 않나요?저는 임의로 상황을 만들어서 억지스럽긴 하지만struct flex 를 원소로 갖는 배열이 있다고 하면,배열의 인덱싱은 sizeof(struct flex) 단위로 움직일텐데 그럼 이상한 상황이 연출되지 않으련지,,, 궁금하여 여쭙습니다!
- 미해결홍정모의 따라하며 배우는 C언어
형식지정자 %zu에 대해서 질문드립니다.
sizeof 연산자를 사용하거나 size_t의 타입변수를 출력할때 %zu라는 형식지정자를 사용하는 것으로 알고 있습니다. printf("%zu %zu\n", sizeof(str1), strlen(str1)); 처럼 strlen()을 출력할때는 왜 %u %d %i %hhi %hhd 를 사용하지 않고 %zu를 사용하는지 궁금합니다. 단지 이식성을 위해서 사용하는건가요?
- 미해결홍정모의 따라하며 배우는 C언어
LINK1104 오류입니다 ㅠㅠ
자꾸 이 파일을 읽을 수 없다고 하네요 해당 경로 파일 들어가보니 파일이 없긴한데 왜 파일이 안생길까요??
- 미해결홍정모의 따라하며 배우는 C언어
3.11 강의에 대한 질문 드립니다.
float f 가 123.456001 가 궁금해서 질문을 보는 중 3.12 강의를 보면 된다고 하셨는데 제가 이해하기로는 유효숫자가 6개 이기 때문에 그 이후의 값은 정확하게 출력되지 않아서 123.456000이 아닌 123.456001이 출력된것이라 이해해도 될까요?
- 미해결홍정모의 따라하며 배우는 C언어
예제 관련 질문
안녕하세요 선생님 최근에 강의 잘 보고 있습니다~ 다름이 아니라 예제를 풀이하다가 직접 해보기도 하고 선생님께서 작성하신 코드를 똑같이 입력도 해보았는데 scanf를 통해 입력받는 값이 5개가 아니라 6개가 됩니다. sum은 앞의 배열 0부터 4까지만이 계산돼서 잘 나오는데 입력받는 값에서 하나를 더 입력해야 작업이 되는데 어떤 부분이 다른지 봐도 잘 모르겠어서 질문드립니다. 감사합니다. #include<stdio.h> #define SIZE 5 int main() { int numbers[SIZE]; int sum = 0; int i; printf("Enter 5 numbers : "); for (i = 0; i < SIZE; ++i) { scanf("%d ", &numbers[i]); } for (i = 0; i < SIZE; ++i) { sum += numbers[i]; } //sum = my_arr[0] + my_arr[1] + my_arr[2] + my_arr[3] + my_arr[4]; printf("Sum = %d", sum); return 0; }
- 미해결홍정모의 따라하며 배우는 C언어
header file과 include 질문드립니다!
/* MyLibrary.c */ #include "MyLibrary.h" #include <stdio.h> void say_hello() { printf("Hello\n"); } void say_world() { printf("World\n"); } /* MyLibrary.h */ #pragma once void say_hello(); void say_world(); 위와 같은 강의 중 코드에서,Q1. header file의 프로토타입? 과 c file의 몸체가 연결되는 것은 external linkage인 function의 특성때문이 아닌가요 !Q2. 왜 c file에서 h file을 include 해주는지 잘 모르겠습니다! 일단 include를 안해도 함수가 연결이 되는 것 같고... 또 굳이 include를 한다면 뭔가 함수의 이름만 있는 header file에서 함수의 몸체가 있는 c file을 include 해야 맞는 것 같고... 어떤 원리고, 이유인가요?
- 미해결홍정모의 따라하며 배우는 C언어
ifndef와 macro 질문드립니다.
안녕하세요! ifndef와 header guard 가 궁금하여 질문드려요!어떻게 중복방지가 되는 것인지 그 원리가 궁금합니다!#ifdef GUARD#define GUARD . . . #endif Q1. 위와같은 구조에서, 한번 include 됐으면 define이 되었을테니 다음에 include될때 ifndef에서 걸러져서 ifndef ~ endif 사이 ... 을 실행 안하는 것인가요? define 된 GUARD가 flag같은 느낌??? 으로 이해하면 될지...! Q2. 강의 동영상 7:52 경, static이라서 header에서 정의가 가능하다는게 무슨 말인지 잘 모르겠습니다 ㅠㅠ header 내에서는 function을 정의하면 안되는 것인가요?!
- 미해결홍정모의 따라하며 배우는 C언어
static과 include 질문 드립니다!
printf("\n"); printf("main()\n"); printf("Static function address %p\n", multiply); printf("Static variable address %p\n", &si); printf("\n"); print_address(); // my_functions.c 강의 중의 코드입니다!! my_functions.h 에서 static으로 정의된 si와 multiply를, main.c / my_functions.c 에서 각각 #include "my_functions.h" 해줌으로서 include는 단순한 코드 복사니까,두 파일에서는 각각의 file scope로 새로운 si와 multiply 를 가지게 된다고 이해했는데요!1. 위의 이해가 맞는지,2. 그렇다면 si / multiply는 총 3개가 존재하고 원본인 my_function.h 의 si / multiply가 따로 존재하는건지질문 드립니다!! 헤더 파일 내에서 변수의 주소를 확인해보려고 했는데 링킹 문제를 해결하기가 어렵네요 ㅠㅠ
- 해결됨홍정모의 따라하며 배우는 C언어
7.8강 단어 세기 예제
삭제된 글입니다