월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
C++을 바로넘어가면 힘들까요??
안녕하세요 이번에 전자공학과로 전과를 하게된 2학년 학부생입니다.전과가 안될줄알고 대비를 안하고 있었는데 이번에 전과가되어 문의드립니다.이번학기에 당장 C++를 하게되는데요.불나게 홍준모교수님의 따배씨를 듣고 있지만이걸 그냥 이렇게 물흐르듯 듣고 가는게 의미가 있나 싶어서요,,,(중간에 이해가 안되도 그냥 넘어가고 그랬어요.)그냥 C++을 넘어가면 많이 힘들까요?아님그냥 C를 그냥 꼼꼼하게 보고 가야하는걸까요,,,,?개강이 3주남았는데 C++을 수강하기 위해서 무엇을해야할까요 ㅠㅠ?프로그래밍에 관해서는 백그라운드가 없는 상태입니다.현재 홍준모 교수님 섹션 6강까지 듣고 있습니다.밑에 수업계획 첨부해요ㅠㅠ
- 미해결홍정모의 따라하며 배우는 C언어
안녕하세요 c언어 header파일 오류가 나서 질문드립니다.
m1 맥북밖에 없어서 사정상 vscode로 수업을 듣고있는 학생입니다. 다름이 아니라 옛날수업을 복습하던중 위와같은 링커 에러 가 발생하여 질문드립니다. 분명히 예전에는 이런문제가 없었습니다.
- 미해결홍정모의 따라하며 배우는 C언어
포인터 질문
안녕하세요. <Q1>포인터 질문 (예시)char *string = "abcdefg";char **ptr = string; string과 ptr은 메모리 구조에서 스택에 쌓이지만, abcdefg는 상수로서 data segment(읽기전용)에 저장되는 것이 맞나요? 따라서, abcdefg를 다른 문자로 변경하지 못하는 것이라고 이해하였는데, 제대로 이해했는지 궁금합니다. 또한, "abcdefg"가 한 뭉텅이로 저장되어있어서, ptr이 배열처럼 abcdefg에서 a의 주소를 가리키는 것이 아니라 abcdefg 자체를 가리키고 있는 것이어서, ptr + 1을 해도 b에 접근하는 것이 아니라 정의되지 않은 어떠한 메모리 주소에 접근하는 것이라고 보면 될까요?<Q2> 구조체 질문(예시) struct student {char* name;int score;}; int main(){struct student* my_student = (struct name*)malloc(sizeof(struct name*));... return 0;} 1. student->name이 의미하는 것은 '주소'인가요 주소를 통해 접근한 '값'인가요? 감사합니다~
- 미해결홍정모의 따라하며 배우는 C언어
for (initialize;testing;counter) 문에서
testing 자리에 조건과 조건을 ,로 연결하면 안되는 게 맞는지 질문드립니다ㅠㅠVisual studio에서 해보니까 testing 자리에 조건 둘을 ,로 쓰면 왼쪽 조건은 무시된다고 나오는데 이게 모든 경우에 그런건지 특정 경우에 한정된 건지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
10분 15초 _getch()
int main(){char c;while((c = _getch()) != '\n')put char(c);return 0;}이 코드를 디버그를 해보면마지막에 enter를 누르면 종료가 되어야하는데변수 c에 '/r' 가 들어가서 처음부분으로 돌아갑니다.여기서 왜 enter을 누르면 /r가 입력이 되는건가요?getchar같은 경우에는 디버그를 해보니까 \n가 들어가더라고요근데 _getch()는 \r가 왜 들어가는지 모르겠네요
- 해결됨홍정모의 따라하며 배우는 C언어
4.4강 마지막부분에 강의와 답이 다르게 나옵니다 ㅜㅜ
강의에서는 4 5 가 나오는데제가 따라한건 8 5강의용코드 복붙결과도 8 5제가 한 걸 비주얼 스튜디오에 복사해서 하니 8 110뭐가 문제인지 모르겠습니다ㅜㅜ
- 해결됨홍정모의 따라하며 배우는 C언어
4.3 질문
str3에서 배열의 크기가 10이고 hello, world를 입력했을떄 끝에 /0을 제외하고 9글자가 출력된다고 치면hello, wo 까지가 9글자인데 왜 r까지 출력되는지 이유를 모르겠습니다. 비주얼스튜디오로 해봤는데도 똑같이 나옵니다.
- 미해결홍정모의 따라하며 배우는 C언어
강의 영상이 대부분 중간중간에 다시 되감기 되는 오류가 있습니다.
0.3 운영체제가 해주는 일들 강의에 04:11초에 되감기 되길래 강의를 다 보고 다시 확인 해보니까 계속 오류났던 구간의 되감기 오류가 없어졌더라구요강의를 처음 수강할 때는 원래 이렇게 되감기가 되는 건가요? 해결방법이 있다면 알려주시면 감사하겠습니다.+) 강의를 다 본 후에도 여전히 다른 구간에서 또 되감기 오류가 발생합니다.
- 해결됨홍정모의 따라하며 배우는 C언어
size_t
강의에서는 마우스를 대면 typedef unsigned int size_t라고 나오는데 제가 하니까 왜 똑같이 나오지 않는지 궁금합니다. vscode로 하다가 vs로 해도 똑같이 나오네요.
- 미해결홍정모의 따라하며 배우는 C언어
10.6 2차원 배열 선언시 질문
안녕하세요! 보통 2차원 배열을 선언한다고 치면int arr[2][3] = { {1, 2 ,3} , {4, 5 ,6} };으로 선언을 하잖아요?저는 이 문제를 풀때int arr1 [3] = {1, 2, 3};int arr2 [3] = {4, 5, 6}; 와 같이 먼저 1차원 배열을 선언해놓으셨길래int x [2] = { arr1[3], arr2[3] };처럼 될까? 하고 표기를 해봤는데 2차원 배열이 인식이 안되더라구요 의미상으로는 같아보이는데 혹시 위와 같이 2차원 배열 선언을 할수 없는 이유를 알수 있을까요??
- 미해결홍정모의 따라하며 배우는 C언어
scanf()함수에 대한 반환값에 대한 질문
status = scanf("%d", &num);scanf()함수에 대한 반환값이란, 포맷형식에 알맞는 입력이 들어온 개수라고 이해했습니다.따라서, q 를 입력했을 때 형식에 맞지 않는 값이기 때문에 0을 반환한다는 것은 이해했습니다. (정수가 아니기 때문)다만 1 12 를 입력했을 때, 왜 정수1과 12로 입력을 받는지 이해가 가지 않습니다. 또, 정수 2개를 입력했기 때문에 반환값이 '2'가 되야하는 것이 아닌지 궁금합니다.(1 12 enter) -> (q enter)sum = 13 #include <stdio.h> int main() { int num, sum = 0; int status; printf("Enter an integer(q to quit) : "); status = scanf("%d", &num); // return value of scanf() while (status == 1) // equailty operator { sum += num; printf("Enter next integer(q to quit) : "); status = scanf("%d", &num); } printf("Sum = %d", sum); }
- 미해결홍정모의 따라하며 배우는 C언어
7.8 문제 질문입니다!
#define CRTSECURE_NO_WARNINGS#include <stdio.h>#define wjd '.'int main(){ char ch; int count = 0; int word = 1; int line = 1; printf("Enter text : \n"); while ((ch = getchar()) != wjd) { if (ch != ' ') { ++count; } else if (ch == ' ') { ++word; } else if (ch == '\n') { ++line; } } printf("Chara = %d, Words = %d, Lines = %d", count, word, line); return 0;} 제 코드는 제대로 실행이 안되던데 코드에 문제가있나요?
- 미해결홍정모의 따라하며 배우는 C언어
15.11 비트필드의 패딩
int main(){ struct { bool member1 : 1; bool member2 : 1; unsigned long long : 0; }none; printf("%zu bytes", sizeof(none)); return 0;} 해당 코드를 통해 강의에서와 같이 16bytes가 출력 되는지 확인해봤습니다. 그러나 16bytes가 아닌 8bytes가 출력되더군요. 이유를 알 수 있을까요?
- 미해결홍정모의 따라하며 배우는 C언어
<10.11 질문> 배열이 함수에 들어갔을 때
10.11 강의의 11번째줄의 함수를 예로 들어함수의 arguments 정의할때 들어가는 배열을 입력하면 해당 배열의 포인터의 값이 들어가고함수에서 배열에 val 값을 더해줄 때는 배열의 포인터에 val 값을 더해준다고 표현해주셨는데 계산된 결과는 배열의 포인터의 dereferencing된 값에 val값을 더해준 것이였습니다.저는 포인터 연산이 되어 해당 배열 값에 val*(자료형의 크기 값이) 더해질 줄 알았습니다.함수의 arguments에서 배열을 포인터로 정의하고 함수 내부에서 배열을 쓸 때 포인터값과 dereferencing된 값(즉, 배열의 값)이 어떻게 구분되는건가요??
- 미해결홍정모의 따라하며 배우는 C언어
수업 소스코드 제공은 안해주나요?
빠르게 C 개념을 학습해야 하는 입장에서 매번 수업 소스 코드를 치기도 번거롭네요.단순히 개념만을 알기 위한 학습자를 위해서 수업에 사용한 소스 코드를 따로 올려주셨으면 합니다.어떤 강의는 소스 코드만 60~80줄이 되서 매번 강의 듣다가 정지하고 코드 치고강의 듣고 정지하고 소스코드 치고 무한 반복입니다.소스 코드쳐도 중간에 매번 매번 소스 코드를 바꿨다가 저리 바꿨다가 하는 경우가너무나 많아서 강의가 20분 짜리면 코드 치느라 10분 이상을 추가로 더 잡아먹습니다.제공되기 힘들다면 그 이유를 알려주시면 감사하겠습니다.
- 미해결홍정모의 따라하며 배우는 C언어
7.2강 대소문자 변환 문제 질문
대소문자 변환문제 while문안의 코드가while ((ch=getchar()) != '\n') { if (ch >= 'a' && ch <= 'z') ch -= 'a' - 'A'; else if (ch >= 'A' && ch <= 'Z') ch += 'a' - 'A'; putchar(ch); }로 하면 작성이 잘되고 while ((ch=getchar()) != '\n') { if (ch >= 'a' && ch <= 'z') ch -= 'a' - 'A'; if (ch >= 'A' && ch <= 'Z') ch += 'a' - 'A'; putchar(ch); }밑의 else if를 if로 작성하면 소문자가 대문자로 변환이 안되는데 , 왜 위의 if문이 작동이 안되는걸까요? 이해가 잘 가지 않습니다..ㅠ
- 미해결홍정모의 따라하며 배우는 C언어
scanf 무시
int main() { char t = 0; int red; printf("enter char : "); red = scanf("%c", &t); while (red==1) { printf("OK\n"); printf("enter next char : "); red = scanf("%c", &t); } printf("END\n"); return 0; } q를 입력했을 때 생각한 결과는enter char : qOKenter next char :이건데while문 안에 있는 scanf가 입력을 한번 건너뛰더라고요. q를 한번 입력했더니 결과로enter char : qOKenter next char : OKenter next char :이렇게 나왔습니다 왜 입력을 건너뛴건가요??
- 미해결홍정모의 따라하며 배우는 C언어
putchar() getchar()
char ch; ch = getchar(); while (ch != '\n') { putchar (ch); ch = getchar (); } putchar (ch); 위쪽에 있는 ch = getchar();를 통해 qwer의 문자를 입력 받았다고 하면 putchar()에서 한문자씩 출력이 되서 처음에는 q값이 출력이 되면그 다음 코드인 ch = getchar();를 만나는데 여기서 다시 ch의 값을 다시 입력해줘달라는 코드 아닌가요? 처음 ch = getchar();에서는 입력을 받았는데 왜 while문 안에있는 ch = getchar();에서는 입력을 다시 안하는 건가요??
- 미해결홍정모의 따라하며 배우는 C언어
while(getchars() != '\n')continue;
scanf("%c %d %d", c, rows, cols)while(getchars() != '\n')continue; 에서 의문이 드는 점은 scanf로 입력을 받고 while문 안에있는 putchar에서 입력을 한번 더 받아야 하는거 아닌가요?
- 미해결홍정모의 따라하며 배우는 C언어
7.2강 25분경 마지막 문제 질문입니다!
대소문자 교환 문제에서 while ((ch = getchar()) != '\n') { if (ch >= 'A' && ch <= 'Z') ch += 'a'-'A'; else if (ch >= 'a' && ch <= 'z') ch -= 'a'-'A'; putchar(ch); }라는 코드에서 밑부분에 else if 를 사용하면 정상 작동이 되는데 else if 가 아닌 그냥 if를 사용하면 소문자는 잘 바뀌는데 대문자가 소문자로 변하질 않네요... 이유가 뭘까요?ㅠㅠ