Thumbnail
BEST 개발 ・ 프로그래밍 프로그래밍 언어
홍정모의 따라하며 배우는 C언어
(4.9)
120개의 수강평 ∙ 1977명의 수강생
C

55,000원

지식공유자 : PP TREE
총 242개 수업˙총 51시간 5분
평생 무제한 수강
수료증 발급 강의
입문, 초급 대상
내 목록 추가 703 공유
신진영 프로필

확장자명이 없는경우 신진영 10시간 전
안녕하세요? 강의를 보고 따라하는 과정에서 제가 노란색으로 형광펜칠해놓은 두 부분에 확장자명이 표기되어있지 않습니다. 강의와 비교해봤을때 각각 .exe와 .obj가 쓰여있어야 하는데 안써있는이유가 뭔가요? 그리고 안쓰여있는경우의 문제점이 있을까요?

2
김경민 프로필

왜 작동 안하는지 모르겠습니다. 김경민 1일 전
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void display(c, rows, cols); int main() { char c; int rows, cols; printf("input one char and two int\n"); while ((c = getchar()) != '\n') { scanf("%d %d", &rows, &cols); while (c != '\n') continue; display(c,rows,cols); printf("put another char and two int\n"); } return 0; } void display(c, rows, cols) { for (int i = 1; i <= rows; i++) { for (int j = 1; j <= cols; j++) { printf("%c", c); } printf("\n"); } } scanf밑에 있는 while (getchar() != '\n') continue;  문구를 while (c != '\n') continue; 이렇게 바꿔서 했는데 안되는 이유가 무엇인가요?

2
dan kim 프로필

본강의의 44초경 배열 초기화 질문입니다. dan kim 1일 전
교수님께선 코드 11번째 줄에 배열을 초기화 할때  char words[MAX] = { '\0', }; 이렇게 하셨는데요.  굳이 널 캐릭터를 넣는이유가 있을까요? char words[MAX]; 처럼 초기화 해도 문제 없이 작동 하는거 같아서요.

1
이2 프로필

변수초기화 이2 1일 전
배열 변수는 int my[5]=0; 이것처럼 변수초기화가 안되서 초기값이 -858993460인데 배열 전체의 값을 전부 초기값을 0으로 잡는 초기화를 하려면 loop 문 사용하는 방법밖엔 없을까요? 좀더 간단한 방법이있나싶어서요

1
Myung Woo Woo 프로필

c 파일에서 Header를 불러오지 않아도 잘 실행이 됩니다. 왜그럴까요? Myung Woo Woo 1일 전
마지막 그림에서와 같이. 함수의  Body가 있는 파일에서 #include [Header]를 하지 않아도, 컴파일러가 알아서 잘 Link를 해주는거 같습니다. Header를 부르지 않아도 되는건가요?

2
Syyy 프로필

default value of an uninitialized boolean Syyy 1일 전
7:00 초기화 시키지 않은 isPrime 의 디폴트 값은 참인가요? 거짓인가요? 정해지지 않은건가요?  검색을 해봤더니, 참이라는 곳도 있고 거짓이라는 곳도 있는데, 제가 실행했을 때는 초기화하지 않았다고 에러가 나서 헷갈려서 여쭤봅니다. 감사합니다!

2
이2 프로필

다음강의에서for문과 같이쓴다고나왓는데...참지못하겠어요 이2 1일 전
int my_numbers[5]; for (int a = 0, b = 1; a < 6; ++b, ++a) { my_numbers[a] = b; printf("%d %d \n", my_numbers[a], a); } 배열은 5까지있는데 배열안에 자리가 첫대입자로부터의 거리라고하여서 my_nembers[4] 까지만 유효한 변수인 것 같아요. 근데 이게참 궁금한게 디버거로했을떄는 배열이라고해서 int mynembers{1, 2, 3, 4, 5} 이렇게까지 값이 들어가길래 아 이게 배열이 5개인거지 5까지가 배열이아니구 그래서 0~4번 배열 총 5개구나 이해는했는데 이게 런타임에러가뜨긴하지만 무시를 누르면 처음에 했던대로 출력은 되네요 그럼 컴퓨터는 어디서 존재하지않을 6번쨰 배열을 가져오는 걸까요???출력내용은1 02 13 24 35 46 5입니다 

2
이2 프로필

#define 과 변수선언이 위에있는 것은 이2 1일 전
예제를 표현하기 위함인가요? 아니면 안에있으면 복잡해서그럴까요? for (int a = 0; a < 5; a++) { for (char b = 'A'; b <= 75; b++) printf("%c ", b); printf("\n"); } 저는 이런식으로해봣는데 이러면 선생님한거와의 비교했을떄 불편함이뭘까요

1
dan kim 프로필

8분 29초 함수의 인자로 static을 쓰면 안된다고 하신부분의 질문입니다. dan kim 2일 전
함수의 인자로 static이 오면 안된다는건  함수가 실행될때 새로운 스택 프레임이라는 공간을 배정받는데. 파라미터도 이때 동일한 스택 프레임 안에 메모리를 배정받기때문이다 라고 말씀해주셨는데요.  즉 스택에쌓여야할 것을 데이터 또는 BSS에 담으려고 하니 문제가 생긴다는 것일까요?

1
dan kim 프로필

1분 34초 함수 구현 질문있습니다. dan kim 2일 전
교수님께서는 93번째 줄에 함수 구현하실때  void fit_str(char* str, unsigned int size) { if (strlen(str) > size) str[size] = '\0'; } 위와 같이 구현 하셨는데요 이러면 사실상 배열에 5번째 글자만 널캐릭터로 바뀌고 "do it!"은 그대로 메모리에 남아있을것 같아서 완전히 문자열을 잘라냈다고 보기는 어렵지 않나요? 궁금해서 msg 배열의 모든 원소를 일일히 출력할수 있게 이하와 같이 함수를 실행해봤는데 실제로 5번째 원소인 , (쉼표) 만 널캐릭터로 바껴서 출력 안되고 나머지 부분은 그대로 배열에 남아있는것을 볼수 있습니다. 

1
방승재 프로필

6.15 중첩된 루프들에서 이해가 안되는 것이 있습니다 방승재 2일 전
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요. #include <stdio.h> #define NUM_ROWS 12  #define FIRST_CHAR 'A' // #define LAST_CHAR 'L'   int main() { int r; // row loop int c; // charcter loop        for (r = 0; r < NUM_ROWS; ++r) // [out loop]  r=0 이고 0,1,2,3,4,5,6,7,8,9,10,11,12 값을 반복 하며 {                  for (c = FIRST_CHAR + r; c < FIRST_CHAR + NUM_ROWS; ++c)  // [inner loop] { printf(" %c ", c);   } printf("\n"); } return 0; } 이 반복문에서  for 2번째 inner loop에서  c < FIRST_CHAR + NUM_ROWS; 를 하는데 왜 알파벳이 줄어들면서 반복되는지 잘 이해가 안되네요  NUM_ROWS; 값은 12인데  A B C D E F G H I J K L B C D E F G H I J K L   C D E F G H I J K L 이렇게 줄어들면서 나오는 이유가 궁금합니다  • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 

1
Syyy 프로필

const와 define 사용 Syyy 2일 전
안녕하세요:) 이전에 다른 분께서 비슷한 질문을 하셨는데, 궁금한 점이 남아있어 질문을 드리게 되었습니다. #define  SIZE 5   가 아닌  메인함수 내에서 const int SIZE = 5;  로 사용하면 에러가 나는 것에 대해 교수님께서 c에서는 문법적인 이유로 불가하다고 하셨는데, 그 문법적인 이유가 무엇인지 더 자세히 여쭤봐도 될까요?

1
dan kim 프로필

1분 18초경 puts 함수 관련 질문있습니다. dan kim 2일 전
비주얼 스튜디오에서 puts 함수에 마우스를 올려보면  버퍼의 포인터라는것을 인자로 받는다고 나오는데요.  puts(str[3]); 가 에러가 나는것은 str[3]는 주소(포인터)가 아니라 배열에 담긴 문자 그자체라서 puts 함수의 인자가 포인터가 오지 않았기 때문에 에러가 나는게 맞을까요?

1
cjkoo96 프로필

가상 메모리 cjkoo96 3일 전
포인터 변수는 가상 메모리 주소를 갖고 있다고 알고 있습니다. c에서 스택에 쌓이는  포인터 변수와 힙에 쌓이는 포인터 변수를 선언하고 주소값을 찍어보면 스택영역의 포인터 변수는 높은 주솟값이 나오고 힙영역에 존재하는 포인터 변수는 낮은 주솟값이 나오는데 그 차이가 제법 크다고 느껴집니다. 실제 메모리에서는 해당 변수가 근접해있는데 가상 메모리에서 보았을 때 갖는 주솟값은 멀리 떨어진 것으로 잡히는 건가요? 실제 메모리 공간에서는 프로그램 마다 특정 영역을 정해서 존재한다고 알고 있어서 이 개념이 헷갈리네요..ㅠㅠ

8
이승환 프로필

regular characters에 관한 질문입니다 이승환 3일 전
int a, b; scanf("%d ,%d", &a,&b); //1 scanf("%dA %d", &a,&b); //2 printf("%d %d\n", a, b); //3 printf("%d %d\n", a, b); //4  이렇게 디버깅을 하면 1번 3번에 대응하고 2번이 4번에 대응할줄 알았는데  3번 4번이 모두 %dA %d로 출력이 되더라고요 ㅠㅠ  printf함수는 원래 최근의 scanf함수만 출력하는건가요?

1

55,000원

내 목록 추가 703 공유
지식공유자 : PP TREE
총 242개 수업˙총 51시간 5분
평생 무제한 수강
수료증 발급 강의
입문, 초급 대상
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스