월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
export template options 화면에서 output location을 변경할 수 있습니까?
export template할때 export template options 화면에서 output location을 변경할 수 있습니까? 저의 경우에는 이ㅏ래 와같은 path가 이미 입력이 되어 있습니다 C:\Users\young\OneDrive\Documents\Visual Studio 2019\My Exported Templates\MyFirstProj.zip
- 미해결홍정모의 따라하며 배우는 C언어
인클루드 가드
인클루드 가드에서 헤더 A.h 에 대해서 1. A_H 2. __A_H__ 이렇게 나뉘는 경우가 존재하는 것 같은데 1.의 경우 사용자 헤더파일이고 2.의 경우 <> 표준라이브러리 중복을 확인할 때 사용하는 것 일까요?
- 미해결홍정모의 따라하며 배우는 C언어
주기억장치와 보조기억장치에 대한 궁금증
제가 강의를 보다가 궁금한 부분이 생겨서 질문을 올립니다. 우선 보조 기억장치인 SSD나 HDD는 256GB 혹은 많게는 1TB정도의 저장용량을 갖고있지만, 주 기억장치인 RAM은 4GB, 16GB, 32GB같이 용량이 보조 기억장치보다 상대적으로 적은 용량을 갖고 있는걸로 알고있습니다. 하지만 주 기억장치는 전원을 끄면 데이터가 날라가는 형식이므로 보조 기억장치에서 데이터를 복사해와서 쓴다고 영상에서 알게되었는데 저장용량의 크기가 엄청나게 많이 차이가 나는 두 기억장치의 관계에서 컴퓨터를 켰을 때 어떻게 보조기억장치의 데이터를 주 기억장치로 복사를 하는지 궁금합니다. 운영체제나 다른 데이터들의 용량을 어떻게 받아내는지 말입니다..
- 해결됨홍정모의 따라하며 배우는 C언어
20:00 질문이요!
char ch; while ((ch = getchar()) != '\n') { for (int i = 0; i < 10; ++i) { if (ch == 'i') ch = '*'; } putchar(ch); } 제가 짜본 코드는 선생님과 다르게 for문에서 숫자에 ' '를 붙이지않고 if문에서 i에 'i'로 바꿔줌으로써 결국 선생님이랑 제 코드가 같은 맥락이라고 봤는데 제 코드로 실행을하면 숫자가 별로 표시되지않고 그냥 숫자로 나옵니다. 왜그런건지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
함수부분
함수 부분을 바로 넘어가셨는데 저는 그 함수부분이 잘 이해가 안되어서요.. 죄송하시만 저 함수가 어떻게 작동하는지 설명해주실 수 있나요? 또 while()괄호안에 getchar()인경우와 c = getchar()인 경우는 차이점이 무엇인가요??
- 미해결홍정모의 따라하며 배우는 C언어
:
case 'a' : 에서 : 는 무엇인가요?
- 미해결홍정모의 따라하며 배우는 C언어
질문 있습니다
바로 전 질문 8:26에 대해 답변해주신 부분 중 일부 "ar1은 a pointer to [3] int 이자 그냥 int[2][3] 입니다." 와 관련해서 질문을 좀 드립니다. 1. ar1[0][0]은 배열의 요소 값을 나타내고, ar1[0]=&ar1[0][0] a pointer to int ar1=&ar1[0] a pointer to [3] int &ar1 a pointer to [2][3] int 이렇게 정리했는데 맞나요? 2. ar1은 a pointer to [3] int 이자 그냥 int[2][3]입니다 에서 궁금한 점은 ar1이라는 이름이 코드에서 사용했을떄는 a pointer to [3] int 용도로만 사용되는거 맞나요? 그냥 int[2][3]이라는 말은 ar1이 int[2][3]으로 정의되있다는거고 이걸 가리키려면 &ar1을 사용하면 되는거죠? 질문 이해하셨으면 좋겠네요 ㅠ.ㅠ 감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
printf 에서는 왜 & 를 사용하지 않는 것인가요?
안녕하세요, scanf 에서는 메모리의 주소에 접근해서 입력값을 넣어줘야 하기 때문에 & 를 사용한다고 하셨는데 그렇다면 printf 에서는 어떻게 & 를 사용하지 않고, 그냥 변수명만 넣어줘도 컴퓨터가 값을 가져올 수 있는 것인가요? 원리가 궁금해서 질문 남겨놓습니다.
- 미해결홍정모의 따라하며 배우는 C언어
#define 질문이요!
삭제된 글입니다
- 해결됨홍정모의 따라하며 배우는 C언어
5:40 질문이요!
#define NUM_DAYS 5 int main(void) { int a = 5; int b[NUM_DAYS]; printf("%d\n", sizeof(a)); printf("%d\n", sizeof(b)); return 0; } 여기서 제가 생각했던것은 a가 int형 이므로 4byte를 가질거라고 생각했고, b도 마찬자기로 int형이므로 4byte를 가질거라고 생각해서 4 4 가 출력될거라고 생각했습니다. 그런데 출력값은 4 20이 나왔습니다. 왜그런건가요? 선생님께서 5:40 쯤에 선생님께선 '타입의크기 곱하기 레터럴상수'를 해주시는데, 그러면 printf("%d\n", sizeof(a)); 이것도 '타입의크기 곱하기 레터럴 상수'로 해줘야되는거 아닌가요? 출력값이 20이 나와야되는것 아닌가요?
- 해결됨홍정모의 따라하며 배우는 C언어
for문 질문드려요!
for (int r = 0; r < 5; ++r) { for (char c = 'A'; c < 75; ++c) printf("%c ", c); printf("\n"); } 를 실행하면 A B C D E F G H I J A B C D E F G H I J A B C D E F G H I J A B C D E F G H I J A B C D E F G H I J 이렇게 나오더라고요. 제 생각은 A B C D . . . 이렇게 실행될 거라고 생각했거든요. 저는 안쪽에 있는 for문에서 printf("%c ", c);와 printf("\n");가 순차적으로 실행될거라고 생각했는데, 실제로는 printf("%c ", c);만 반복되고 안쪽에 있는 for문이 끝나야 printf("%c ", c);와 printf("\n");가 순차적으로 실행되더라고요. 왜그런건지 궁금합니다.
- 해결됨홍정모의 따라하며 배우는 C언어
02:30초 질문드립니다.
02분 30초쯤부터 선생님께서 말씀하시기를 while문 비교를 하기전에 입력을 한번은 꼭 받아야 한다고 하셨는데, int ps = 0; while (ps != 337) { printf("Enter secret code : "); scanf("%d", &ps); } printf("Good!"); 저는 이렇게 while문에 하나만 달랑 넣고 만들어서 실행을 해봤는데 이상이 없더라구요. 이게 정상작동되면 do while문이 필요없지않나요?
- 해결됨홍정모의 따라하며 배우는 C언어
while문 관련 질문입니다.
문득 강의를 보다가 중괄호 없는 코드를 만들어봤는데요. 실행을 하면 i가 i++ 이기때문에 0에서 3까지 늘어나서 3이 출력이 될 줄 알았는데 4가 출력이 되네요. 왜 4가 출력이 됐는지 궁금합니다. 디버깅을 해봐도 원인을 알 수가 없어서 질문드려요. int i; i = 0; while (i++ < 3); printf("%i\n", i);
- 해결됨홍정모의 따라하며 배우는 C언어
재귀 호출 개념에 대해서 이해한건지 확인 부탁드립니다.
안녕하세요, 선생님 제 나름대로 이해할려고 풀어서 이해해봤는데 이게 맞는건지 확인해보고 싶습니당 선생님이 작성한 예제에서 이해한 내용은 my_func(my_func(my_func(my_func))) 이런식으로 실행이 되고 스택도 n(n(n(n))) 이런식으로 쌓인다고 이해했습니다. 그리고 반대로 돌아갈때도 my_func(my_func(my_func(my_func))) 에서 my_func(my_func(my_func)) my_func(my_func) 이런식으로 돌아가는 형태로 이해했습니다. 그러면 스택에서도 n(n(n)) -> n(n) 이런식으로 위에서 없어지는 걸로 이해했습니다 그래서 이걸 좀 더 명확히 이해하고자 저의 생각한대로 코드를 작성해서 디버거로 테스트를 해보았습니다. 제가 이해한 형식대로 코드를 작성을 해보았더니 돌아가는 형태를 확인했습니다. main함수에서 A함수를 호출하고 A함수에서 B함수를 호출하는 형태로 구성을 해보면 (main -> A -> B) B함수의 코드들이 끝나면 바로 main 함수로 돌아갈줄 알았는데 A함수로 돌아가고 그 다음 A함수에서 main함수로 돌아가는걸 확인했습니다. (B -> A -> main) 디버거로 돌아가는 걸 찍어보았습니다. 마지막 함수인 test3이 종료가 되면 바로 main 함수로 가서 끝나는게 아닌 test2로 가는걸 화살표로 확인할 수 있었습니다. 게다가 test2로 돌아갈때 test2함수의 영역 끝인 } 로 돌아가는것이 아닌 test3함수를 호출한 구문으로 돌아가는것을 확인하였습니다. 그 다음 f11을 눌러 확인해본 결과 test3함수의 변수인 n이 스택에서 사라지고 test2로 돌아와 n변수를 printf로 재출력 해본 결과 스택에 남아있었던 test2의 n변수가 출력이 되어 기존에 출력했었던 거와 메모리주소가 동일하단걸 확인하였습니다. 즉 실행이 되었던 되감기 형태로 돌아가서 종료가 된다는걸로 이해했습니다만 제가 이해한게 맞는건지 확인 부탁드리겠습니다.. ㅜㅜ
- 미해결홍정모의 따라하며 배우는 C언어
for (i = 1; i <= 10; i++)에서 i ++은 ;를 안붙여도 되는건가요?
for (i = 1; i <= 10; i++)에서 i ++은 ;를 안붙여도 되는건가요?
- 미해결홍정모의 따라하며 배우는 C언어
2차원과 1차원 배열은 같은 것인가요??
int *ptr = arr //>>1차원 배열에서 int *ptr = &arr[0][0];//>>2차원 배열에서 &연산자나 [][] 이 없으면 에러가 납니다 그런데 값은 정상적으로 출력이 됩니다 왜 그런지 잘 모르겠습니다 또한 2차원 배열 arr[0][0]의 주소를 출력해보려 해도 출력되지 않습니다 이유를 알고 싶습니다 너무 궁금합니다
- 미해결홍정모의 따라하며 배우는 C언어
파일이 열리는데 아무것도 표시되지 않습니다.
int main() { int c; FILE *file = NULL; char file_name[] ="my_file.txt"; file = fopen(file_name,"r"); if (file == NULL) { printf("failure"); exit(1); } while ((c = getc(file)) != EOF) putchar; fclose(file); return 0; } 실행을 시키면 사진처럼 아무것도 뜨지 않습니다. 파일에는 hi를 입력시켜서 저장한 상태입니다. 뭐가 잘못된 걸까요?
- 미해결홍정모의 따라하며 배우는 C언어
원하는 값이 안 나옵니다.
long get_long(void); int main() { long num1; while (1) { printf("Input an integer 1 between 100.\n"); num1 = get_long(); if (num1 > 1 && num1 < 100) { printf("okay!"); break; } else printf("try again!"); } return 0; } long get_long(void) { long num; char c; printf("Input an integer and press enter.\n"); while (scanf("%ld", &num) != 1) { printf("your input ("); while ((c = getchar()) != '\n') putchar(c); printf(") is not an integer.\n"); } printf("your input (%ld) is correct!", num); } 제가 이렇게 작성을 했는데요 숫자가 저 범위에 해당하지 않는 것을 넣어도 if (num1 > 1 && num1 < 100)을 수행하길래 디버그를 해봤는데요 제가 처음에 10000을 입력했는데 이게 함수 get_long를 거쳐서 num1이 34가 됐는데 왜 이렇게 된 걸까요? 뭐가 잘못된 걸까요?
- 미해결홍정모의 따라하며 배우는 C언어
2분 30초
void display(char cr, int lines, int width) { int row, col; for (row = 1; row <= lines; row++) { for (col = 1; col <= width; col++) putchar(cr); putchar('\n'); } } int main() { char c; int rows, cols; while (1) { scanf("%c %d %d", &c, &rows, &cols); display(c, rows, cols); if (c == '\n') break; } } 결과 t 2 1 t t r 2 2 빈칸 빈칸 빈칸 빈칸 C:\Users\jungh\source\repos\project2sol\Debug\chapter8.exe (process 12432) exited with code 0. Press any key to close this window . . . 이렇게 구현을 하였는데 실행을 했을 때 위처럼 끝이 나는데 무슨 차이 때문에 교수님이 실행하신 것과 다른지 알고 싶습니다. 제가 원하는 것은 2분 30초에서 교수님이 하신 것처럼 실행되는 것을 원합니다.
- 미해결홍정모의 따라하며 배우는 C언어
linking/링크의장점?
한 파일에 함수를 작성하는 것과 링킹등을 활용했을 때의 차이점이 뭔가요? 파일을 2개로 나눴을때의 단점과 장점이따로있나요?