월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
리터럴 상수
수학에서의 상수와 달리 프로그래밍에서의 상수는 '값을 한번 저장하면 변경할수 없는 정장 공간' 이라고 정의 되어 상수라는 이름 대신 리터럴이라는 이름이 대신 쓰이는 것으로 알고있는데 맞나요?
- 미해결홍정모의 따라하며 배우는 C언어
14.4 구조체의 배열 연습문제
선생님께서 s_gets라는 함수를 만들어서 사용하고 계신데요, 해당 함수의 내용을 보면 if 문의 조건 안에 ret_val, find 가 들어가 있음을 볼 수 있습니다. 제가 알고 있는 조건으로는 부등호나 ==등을 통한 조건식, 그리고 0이나 1을 써 줌으로써 성립되는 것 정도인데요, ret_val, find 등이 어떻게 조건식이 될 수 있는 건가요?
- 미해결홍정모의 따라하며 배우는 C언어
int_least
int_least8_t i8가 적어도 8비트를 가지고있는 가장 작은 정수 타입이라고 하셨는데 그러면 변수 i8에다가 8비트를 보다 큰 수를 넣어도 된다는 뜻 아닌가요??1000을 집어넣어봤는데 안나오네요 적어도 8비트를 가지는거면 16비트 크기가 와도 가능 하다는 뜻 아닌가요?
- 미해결홍정모의 따라하며 배우는 C언어
강의 (10:06) 부분 코드 질문입니다.
printf("Input a book title or press [Enter] to stop.\n>>");s_gets(list[cnt].title, MAX);if (*list[cnt].title == '\0')break;저는 위와 같이 if문에 s_gets함수를 넣지 않고 코드를 작성했는데, 강의에서 if문을 넣은 것의 의미를 잘 모르겠어서 질문합니다.s_gets 함수를 통해 아무것도 입력받지 못했을 때를 방지한다 <- 이 뜻이 맞을까요?
- 미해결홍정모의 따라하며 배우는 C언어
visual stdio 2022 community
제가 visual stdio 2022 community를 다운해서 사용하려고 했는데 이런 화면이 나오고 실행이 안됩니다. 무엇이 문제일 까요? 도와주세요.ㅠㅠ
- 미해결홍정모의 따라하며 배우는 C언어
변수 초기화
만약int x,y,z=0; 이렇게 입력하면 z만 0으로 초기화 되는건가요?? 아님 x,y,z 셋 다 모두 0으로 초기화되는건가요??
- 미해결홍정모의 따라하며 배우는 C언어
1.9강 컴파일러와 링커
라이브러리 코드 와 착수 코드가 있다고 하셨는데#inlclude <stdio.h> 이게 착수 코드가 맞나요??
- 미해결홍정모의 따라하며 배우는 C언어
맥os
맥os를 사용해서 그런데visual studio, visual studio code 말고xcode를 사용해도 수업 진행에 지장이 없을까요??
- 미해결홍정모의 따라하며 배우는 C언어
코드 질문입니다!
교수님 코드를 보기 전 작성한 코드입니다교수님은 함수를 이용하셨는데 저는 함수를 사용하지 않고 만들었습니다.첫번째로 제가 풀이한 이 방식이 맞는지 궁금합니다.두번째로는 제 코드가 맞다면 함수를 이용하는것이 아직 익숙치 않아 교수님의 코드 이해가 어려운데 제 방식으로써 풀어서 맞았으니 그냥 진도를 넘어가도 되는지 아니면 앞서 배운 강의들을 복습하고 교수님의 풀이를 이해하고 넘어가야 하나요?
- 미해결홍정모의 따라하며 배우는 C언어
6.1 scanf 반환값 사용하기 예제
안녕하세요. 6.1강 예제 관련하여 질문드립니다.우선, 제가 만든 코드는 다음과 같습니다.콘솔창에 q를 입력하면, while의 조건에 해당되지 않아서 while문 밖으로 나와 sum값을 출력해야 한다고 생각했습니다. 근데, 빌드를 해서 q를 입력해보면 이런 식으로 출력이 됩니다...ㅠ 왜 그런지 계속 고민 해보았는데, 이유를 찾지 못해서 질문남깁니다.감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
풀이 간 질문이 있습니다
isspace 함수를 사용하지 않고 풀려고 시도해보았는데#단 공백과 개행만 입력된다는 가정하에 풀었습니다 1. ch != ' '&&ch!='\n' 이 조건문에서 공백과 개행문자가 입력 되었을 경우 False가 되어야 하는데 True가 나오는지 모든 공백과 개행문자들 또한 계산하여 chara변수가 ++됩니다.마찬가지로 아래 worflag, liflag를 제어 해주는데 있어 ch 값이 공백일 경우 worflag=0, 개행문자일 경우 liflag=0으로 대입해주었는데 생각 한 대로 구현이 잘 되지 않습니다 제 풀이에 어떤 오류가 있을까요?
- 미해결홍정모의 따라하며 배우는 C언어
자료형 관련 질문
안녕하세요. 자료형 관련하여 질문드립니다. 예를 들어, int a = 8; 이라고 한다면, int는 4바이트이니까, 메모리에 4바이트만큼 차지하게 됩니다. 4바이트는 32비트이니까 32자리인데, 숫자8을 2진수로 바꾸면 1000으로 4자리입니다. 제가 궁금한 점은 그러면 메모리에 할당된 4바이트 공간에는 32자리의 2진수가 들어가야 하니까, 32자리 중 앞 28자리는 0으로 채워지고, 뒤 4자리가 1000으로 채워지는 것인가요? (4.10강) scanf()함수 예제에서 이런 코드를 작성하였습니다. scanf로 받는 %hhd는 문자의 숫자형식(아스키코드 등)을 받는 것이고, printf는 char타입보다 메모리가 큰 int로 받으니까 에러가 발생하지 않는다는 것은 이해하였습니다.%hhd는 unsigned이니까 0~255까지의 숫자가 가능한데, 콘솔창에 255를 넣으면 값이 -1이 나오고, 256은 0, 257은 1... 이런 식으로 출력이 됩니다. 왜 이렇게 되는 것인지 이해가 잘 안 되어서 질문 남깁니다.감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
11.6 다양한 문자열 함수들 - my_strcat 만들기 질문
이렇게 함수를 만들었는데 출력에는 S만 붙어서 출력이 됩니다. 이유를 잘 모르겠습니다..
- 미해결홍정모의 따라하며 배우는 C언어
4.8강) 예제 오버플로우
안녕하세요.4.8강 변환 지정자의 수식어들 예제 문제에서 궁금한 점이 있어서 질문드립니다.해당 코드를 실행하면, %hhd는 최댓값이 255 혹은 127 이기 때문에 오버플로우가 발생한다는 것까지는 이해하였습니다. 근데 콘솔창에 출력값으로 해당 코드 실행 결과가 1로 출력이 되는데, 0으로 출력되어야 하는 것이 아닌가요? 1111 1111 에 추가적으로 값이 더해지면서 자릿수를 넘어간 부분을 제외하고 0000 0000이 되기 떄문에 0이 되어야 한다고 생각했습니다. 감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
프로그램 실행 과정
안녕하세요. 프로그램 실행 과정과 관련하여 질문 있습니다.프로그램 실행 과정을 제대로 이해하였는지 확인부탁드립니다! 1) 사용자가 프로그램 실행 (마우스 클릭 등)2) 운영체제가 사용자가 프로그램 실행을 요청했다는 것을 인식3) 운영체제가 CPU 내 제어장치한테 프로그램 실행 해달라고 요청하고, 프로그램 카운터에 는 실행할 프로그램의 첫번째 주소가 저장됨4) 제어장치는 제어버스를 통해서 메모리에게 '자료를 읽어라'라는 요청을 하고, 프로그램 카운터에서 주소 레지스터로 넘어온 첫번째 주소를 주소 버스를 통해서 메모리에게 알려 줌5) 메모리는 주소버스와 제어버스를 통해서 받은 정보를 바탕으로 저장된 내용을 제어장치 한테 보내줌. 위 과정이 제대로 되었다면 궁금한 점이 있는데, 운영체제는 어떻게 프로그램의 첫 주소를 알고 있는 것인지 궁금합니다. 감사합니다 :)
- 미해결홍정모의 따라하며 배우는 C언어
1번문제 flag의 값이 1이 나오는 이유?
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #define NLEN 30 struct name_count { char first[NLEN]; char last[NLEN]; int num; }; void receive_input(struct name_count*); void count_characters(struct name_count*); void show_result(const struct name_count*); char* s_gets(char* st, int n); int main() { struct name_count user_name; receive_input(&user_name); count_characters(&user_name); show_result(&user_name); return 0; } char* s_gets(char* st, int n) { char* ret_val; char* find; ret_val = fgets(st, n, stdin); // vs. scanf() if (ret_val) { find = strchr(st, '\n'); // look for newline if (find) // if the address is not NULL *find = '\0'; // place a null character there else while (getchar() != '\n') continue; // dispose of rest of line } return ret_val; } void receive_input(struct name_count* ptr_nc) { int flag; printf("Input your first name:\n>> "); //s_gets(ptr_nc->first, NLEN); flag = scanf("%[^\n]%*c", ptr_nc->first); // ^ : cap operator:not을 의미합니다. printf("%d \n", flag); if (flag != 1) printf("Wrong input"); printf("Input your last name:\n>> "); //s_gets(ptr_nc->last, NLEN); flag = scanf("%[^\n]%*c", ptr_nc->last); if (flag != 1) printf("Wrong input"); } void count_characters(struct name_count* ptr_nc) { ptr_nc->num = strlen(ptr_nc->first) + strlen(ptr_nc->last); //ptr_nc->num = (int)strlen(ptr_nc->first) + (int)strlen(ptr_nc->last); // int castings remove warnings } void show_result(const struct name_count* ptr_nc) { printf("Hi, %s %s. Your name has %d characters.\n", ptr_nc->first, ptr_nc->last, ptr_nc->num); } 위 코드에서 scanf 의 return이 flag인데 정상적으로 입력했을 때 1이 나오는 이유가 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
런타임에러가 뜨지않습니다.
#define CRTSECURE_NO_WARNINGS#include <stdio.h>int main(){ int* safer_ptr1; int a = 123; if (a % 2 == 0) safer_ptr1 = &a; printf("%p", &safer_ptr1);} safer_ptr1에 대한 런타임 오류없이 리턴값으로 0이 출력되는데 제가 이상한걸까요?
- 미해결홍정모의 따라하며 배우는 C언어
수강시 참고 할 만한 책 질문
안녕하세요 교수님 최근에 수강을 시작한 초보입니다. 강의를 들으면서 따라하고 있는데 복습할떄 책을 참고 하고싶은데 C Primer Plus 이 책을 프로그래밍을 처음 하는 초보자가 봐도 괞찮을까요 아니면 다른 추천하는 책이 있으시다면 추천해주시면 감사하겠습니다.
- 미해결홍정모의 따라하며 배우는 C언어
'_CRT_SECURE_NO_WARNINGS': macro redefinition 관련 질문입니다
#define CRTSECURE_NO_WARNINGS#include <stdio.h>#include<float.h>int main(){ char fruit_name[40]; scanf("%s", fruit_name); printf("%s", fruit_name); return 0;}이러한 간단한 코드를 빌드 했을때 '_CRT_SECURE_NO_WARNINGS': macro redefinition 라는 경고가 뜨는데 어떤 문제가 있는건가요?
- 미해결홍정모의 따라하며 배우는 C언어
아스키 코드 관련 질문입니다
backspace 문자형을 아스키코드를 활용하여 출력함에 있어서 강의에서 \b를 사용하셔서 다른 형으로 출력 해보았습니다.1. printf("$______\x08\x08\x08\x08\x08\x08");2. printf("$______\010\010\010\010\010\010");3. printf("$______\8\8\8\8\8\8"); scanf("%d", &a);16진수, 8진수로 표현한 backspace는 잘 출력이 되었는데 10진수로 표현한 backspace는 그냥 8만 출력되는데 \8로 활용하면 안되는건지 그리고 안되는거면 왜 에러가 뜨지 않고 8이 출력되었는지도 궁금합니다