월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
/ 이거 말고 왼쪽위에서 아래로 내려오는 모양 어딨어요?
키보드에서 안보인뒝 `이거 닯았는데 좀 길게 생김;;
- 미해결홍정모의 따라하며 배우는 C언어
파일 입출력 런타임에러
수업시간과 똩같이 파일을 읽어오는 코드를 따라했는데, 계속 런타임에러가 뜨는데 이런경우는 왜이런것이고, 어떻게 해결해야 하나요???
- 해결됨홍정모의 따라하며 배우는 C언어
char 과 unsigned char
공부를 해보니 char 또한 unsigned가 있더라구요! 저 두가지가 구분되어 있는 이유는 뭔가요?? char이든 unsinged char 이든 어쨌든 아스키코드를 바탕으로 할텐데 둘다 8비트라 256가지 범위를 가지므로 아스키코드의 숫자는 두 자료형 모두 커버하더라구요! 그런데 굳이 저렇게 둘이 분리되어있는 이유는 뭔가요? 따로 계산할떄 나중에 필요한가요?!
- 미해결홍정모의 따라하며 배우는 C언어
11.7 선택정렬함수
void selectionsort(int arr[],int n) { int i,j,min_idx; min_idx=0; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(arr[min_idx]>arr[j]) { min_idx=j; } swap(&arr[i],&arr[min_idx]); } } } 첫번째 for문 밑에 min_idx=i를 안쓰고 위에 처럼 코드를 써도 똑같이 출력될줄 알았는데 아니네요..(제 의도는 시작할 때 첫번째 원소를 최솟값이다! 라고 정해놓고 하려했습니다.) 이유를 잘 모르겠습니다..(혹시 변수 min_idx의 범위 때문인가요?)
- 미해결홍정모의 따라하며 배우는 C언어
포맷팅 의미
강의 8:45 부분에 나오는 포맷팅의 의미가 무엇인가요?
- 미해결홍정모의 따라하며 배우는 C언어
실행문제
아래의 코드가 강의를 들을 땐 잘 실행됐는데 나중에 제가 뭘 잘못 건드린건지 저 코드가 실행이 되지 않습니다. 에러창에는 15번째 줄에 stntax error: '?' 이 있다고 하는데 15번째 줄은 아무 이상이 없어 보입니다. 가운데 흰색창은 구글링해도 뭘 말하는건지 잘 모르겠는데 no를 클릭하니까 없어졌습니다. 코드가 실행되지 않는데 어떻게 해야 할까요? visual studio를 재실행하고 파일도 다시 만들었는데도 계속 저 문구가 나옵니다!
- 미해결홍정모의 따라하며 배우는 C언어
F11(디버거) 누르면 Autos 창이 사라집니다
영상 6:17 쯤 보시면 F11(디버거)을 눌러도 하단에 Autos 창이 그대로 떠있는 상태에서 값만 바뀌는데 저는 F11을 누를때마다 창이 아래로 없어집니다 . 하단의 Autos 창을 직접 눌러서 띄어놓은 다음에 F11을 눌러도 창이 아래로 사라집니다. 어떻게 해야 하나요?
- 해결됨홍정모의 따라하며 배우는 C언어
선생님 질문 있습니다.
상세한 강의 감사합니다. 강의 듣다가 궁금한 점이 생겨서 질문 드립니다. C언어의 이식성이 좋지 않을 수 있어서 자료형의 크기를 고정시키기 위해 고정 너비식 정수를 사용한다는 취지가 있지만 사실은 기존에 있던 것 (int)같은 것들을 int32_t처럼 명시적으로 사이즈를 표현해주기 위해 사용하는 것으로 이해를 했습니다. 결국 비슷한 역할을 한다는 것으로 이해를 했는데요 아직 이해를 하지 못한 점은 왜 굳이 PRId32를 써야하는지를 모르겠습니다. 이게 그냥 ld lld, d중 어떤것을 써야할지 형식 지정자를 명확하게 구분하지 못하겠을 때 PRI와 자료형, 크기만 기입하면 쉽게 출력할 수 있게 만들어주는 역할을 하는건가요?
- 미해결홍정모의 따라하며 배우는 C언어
사용자로부터 데이터 입력을 받는 프로그램
안녕하세요. 표준 입출력 함수랑 그 동작 특성을 공부하다 보니까 사용자로부터 데이터 입력을 받는 프로그램의 경우 생각보다 런타임 오류가 발생할 수 있는 부분이 되게 많더라구요.. 조금 애매한 질문일 수도 있고, 또 경우에 따라 다르겠지만.. 발생할 수 있는 입력 오류나 그것에 대한 예외처리를 어느정도 수준까지 신경써서 코드를 작성하는 게 좋을까요..? 당장 생각나는 건 버퍼 오버플로우나 입력 데이터의 범위 체크 정도인데.. 제가 아직 오픈소스를 볼 만큼 공부가 된 것 같지는 않지만.. 참고할 만한 자료가 있을까요..? 감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
2차원 배열과 포인터 개념 질문이 있습니다.
float arr2d[2][4] = { {1.0f,2.0f,3.0f,4.0f},{5.0f,6.0f,7.0f,8.0f} }; float(*pa)[4]; float* ap[2]; pa = arr2d; 강의에서 코드가 이렇게 나오는데 여기서 개념이 헷갈리는게 있습니다. 1. float형 포인터변수 pa는 '원소가 4개짜리인, 이름도 모르는 어떤 배열을 가리키는 포인터 변수' 라고 생각했는데 이게 맞는지(맞다면 이 배열은 초기화를 안해줬으니까 쓰레기값이 들어가있는 건가요?) 2. pa에 arr2d배열의 첫 원소를 가리키는 주소를 넣어줬는데, 그럼 pa가 처음에는 쓰레기 값이 들어있는 배열을 가리켰다가 arr2d의 첫 번째 row(배열)를 가리키게 되는 건지(pa가 정확하게 뭘 가르키는지 조금 헷갈립니다.) 이렇게 질문이 있습니다. 도와주심 감사하겠습니다.
- 미해결홍정모의 따라하며 배우는 C언어
이렇게 해도 되나요..?
이렇게 작성해도 되나요..?? 제가 생각한대로 적어봤는데 ㅠ
- 미해결홍정모의 따라하며 배우는 C언어
헤더파일 작성 질문있습니다
헤더파일의 함수 프로토타입만 따로 놔두는게 함수 입출력을 빠르게 보려는ㄱ게 목적이면 프로토타입만 윗줄에 쭉 나열하고 함수는 아래에 작성해놓으면 한파일로 사용할수 있지 않나요? 굳이 헤더파일과 c파일을 하나 더 만드는 이유가 있나요?
- 미해결홍정모의 따라하며 배우는 C언어
소스코드내 함수 중복 오류
안녕하세요 :) 질문이 있어 이렇게 글 남깁니다. 제가 강의를 보면서 매 차시 작성하는 코드를 깔끔하게 정리하고자 하나의 프로젝트 안에서 강의마다 소스코드 파일을 하나씩 만들어 가다가 어느 순간 오류가 나더라구요 (아래 오류 코드) fatal error LNK1169: one or more multiply defined symbols found 그래서 프로그래밍이 처음인 제가 저게 정확하게 무엇인지는 몰라도 one or more multiply defined를 보니 뭔가 중복이 됬다는 것 같아서 중복이 될 만한 int main()을 보니 제가 int main()이 여러개인 상태를 방지하고자 int main1()로 변형해서 놓은 게 겹쳐버려서 생긴 문제더라구요.(실행하고자 하는 소스코드 외의 소스코드 파일에서 int main()꼴은 서로 겹치지 않고 실행되지 않게끔 이름을 바꿈) 서론이 길었네요 죄송합니다.1) 그래서 제가 묻고자 하는 것은 한 프로젝트 내에서 어떤 함수건 이름을 같게 하면 안 되나요? 2) 그리고 특정 소스코드파일에서 int main()함수가 없다면 그 다음에 있는 함수가 자동으로 실행이 되나요? 3) 번외로 2:42부분에 void say_hello(void) {} 이라고 되어 있는 부분에서 맨 앞의 void는 출력할 값이 없으니 공백?의 뜻을 지니고 있는 void를 쓰는 것이고 ()안의 void는 마찬가지로 입력할 값이 없으니 공백의 의미를 지닌 void를 쓰는 것인가요? 긴글 읽어주셔서 감사합니다
- 미해결홍정모의 따라하며 배우는 C언어
변수 메모리 주소
안녕하세요 :D 강의에서 변수를 통해 프로그래머가 번거롭게 메모리 주소를 잡아 데이터를 넣는 과정을 생략하고 변수명을 매개체로 변수에 어떤 데이터를 선언해서 특정 메모리 주소로 간접적으로 값을 넣는 것이라고 이해했는데 예를 들면 int a; a = 1; 은 a라는 변수가 램에서 메모리 주소를 하나는 갖고 있고 거기에 1를 대입하는 코드인데 이때 a에 매칭되는 메모리 주소는 C언어 시스템에서 자동적으로 정해주나요? 그리고 이를 프로그래머가 직접 잡아 줄 수도 있나요?
- 미해결홍정모의 따라하며 배우는 C언어
사용자의 키보드 입력을 받는 함수 scanf(), getchar(), gets().. 에서 질문
키보드로 데이터를 입력하고 실행 결과를 확인 해보면 항상 자동으로 줄바꿈이 되어 있는데, 이게 입력 버퍼에 저장된 개행 문자랑은 상관이 없는 건가요..? 함수 내부에서 자동으로 줄바꿈을 해주는 건가요?? 감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
fgets(), gets()에서 입력 버퍼에 저장된 '\n' 처리 방식 차이점 질문..
코드랑 실행화면 첨부합니다.. fgets 함수나 gets 함수 모두 입력 버퍼에서 '\n'을 만날 때까지 문자열을 읽어 들이는 건 같지만, 이후 '\n'를 처리하는 방식이 다른 것 같아서 질문 드립니다. fgets 함수의 경우 '\n'를 제외시키거나 버리지 않고 문자열의 일부로 저장하는데 (이 경우 'A' 'p' 'p' 'l' 'e' '\n' '\0'), gets 함수의 경우에는 (이 경우 'B' 'a' 'n' 'n' 'a' 'a' '\0')를 저장하고 이후 입력 버퍼에 남아 있는 '\n'를 어떻게 처리하는 지 궁금해서 변수 a에 대해서 scanf 함수를 호출 해봤습니다. 만약 입력 버퍼에 '\n'가 계속 남아 있었다면 scanf 함수를 호출 했을 때 사용자의 입력을 기다리지 않고 변수 a에 '\n'가 바로 저장되고 프로그램이 종료될 거라고 생각했는데, scanf 함수가 입력을 받는 것을 보니... 입력 버퍼에 남아 있던 '\n'는 어디로 가버린 걸까요..? gets 함수가 내부적으로 처리를 해준 걸까요?? 구글링을 해도 해결이 잘 안돼서 질문 올립니다.. 감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
영어 사용 이유
강의 중간에 Visual Studio를 설치할 때 가급적이면 한국어 말고 영어를 선택해서 쓰라고 하셨는데 왜 그런지 알고싶습니다. 한국어로 하면 어떤 문제가 생기나요?
- 미해결홍정모의 따라하며 배우는 C언어
free()함수의 정확한 용법 ( realloc함수와 free함수의 관계)
해당 코드는 메모리 누수 강의에서 포인터를 백업하는 과정의 일부입니다. 제가 궁금한 것은 free()함수가 메모리를 반환한다는 개념이 아니라 그 내부의 메모리는 그대로 두돼, 사용하지 않는다의 개념이 가깝다고 들었습니다. 그렇다면 저 코드에서 free로 heap 메모리를 사용하지 못하게 하더라도 그대로 메모리 데이터 값이 나와야 하는 것이 아닌가요 ? 이와 상충되는 느낌을 realloc 강의에서 받았습니다. 다른 질문글을 보니 realloc()함수는 free()의 기능도 동시에 한다고 들었습니다 free()함수를 탑재하고 있는 realloc()함수를 이용했는데 해당 코드에서는 ptr[0]에 접근하여 데이터 값을 출력할 수 있습니다. 첫번째 사진 코드 대로라면은 free()는 아예 해당 메모리에 접근할 수 없는 것이고 두번째 사진 코드 대로라면은 free()는 접근은 가능하나 이용할 수 없습니다. 이 두 가지 개념이 혼동되어 질문드립니다.
- 미해결홍정모의 따라하며 배우는 C언어
14.9 강의 예제 실행이 안되요
강의 내용 그대로 따라한거 같은데 저는 왜이렇게 오류가 많이 뜰까요?
- 미해결홍정모의 따라하며 배우는 C언어
"지정된 파일을 찾을 수 없습니다." 어떻게 해결하나요
전에는 잘 실행 됐었는데 오랜만에 했더니 이런 문구가 뜹니다 .. 어떻게 해결해야 하나요?