월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
2진수 변환 시 부호 있는 것과 없는 것 중 무엇이 자주쓰이나요?
2진수 변환 시 부호 있는 것과 없는 것 중 무엇이 자주쓰이나요?
- 미해결홍정모의 따라하며 배우는 C언어
연습 문제에서 compare함수에
if (((struct kid*)first) ->height > ((struct kid*)second)->height) 이 부분 있잖아요 if ((struct kid*)first ->height > (struct kid*)second->height) 제가 처음에 이렇게 구현했는데 왜 괄호를 하나 더 치지 않으면 안되는 건지 궁금합니다. 컴파일 에러 나더라구요 괄호를 안치면 어떻게 해석이 되는 건지 궁금합니다!
- 미해결홍정모의 따라하며 배우는 C언어
함수를 정의하고 return 값 설정하는 기준이 있을까요??
return 작성하는 것에 기준 및 활용 방법이 있을까요?? 강의해주신것 같은데 기억이안나네요..
- 미해결홍정모의 따라하며 배우는 C언어
다시 질문합니다
5분 부터 나오는 동적할당 해서 문자열을 복사해주는 부분이요 동적 할당을 하는 이유가 입력 받을 문자열의 사이즈를 모르기 때문에 할당 받는것이 맞는 건가요?? 아니면 spcpy 함수로 데이터를 저장 하기 위해서 사용하는 건가요?? 동적할당강의를 다시 다 봤는데도 헷갈려서 다시 글남깁니다.
- 미해결홍정모의 따라하며 배우는 C언어
질문입니다.
5분 부터 나오는 텍스트 세크먼트 영역에 scanf로 입력 받는 것이 불가 해서 버퍼 배열로 scanf 로 입력 받고, p.fname 에 동적 할당하여 문자열을 복사 해주는 방법을 알려 주셨는데요 이것이 가능 한 이유가 텍스트 세그먼트에 접근 하지 않고 , p.fame의 주소를 바꿔서 scanf 값을 입력 받는 것이 맞는 건가요? 그럼 동적할당이 해체 되고 나면 p.fname이 가르 키는 주소는 원래 텍스트 세그먼트를 가르키는 것이 맞나요?? 그리고 7분 부터 에제 답을 설명 하는데 구조체메모리가 궁금해서 pst->fname 을 메모리 주소창에 쳐서 들어갔는데 문자열에 잘못된 문자가 있습니다 라고 나오는데 구조체 메모리에 접근 하려면 pst->fname 이렇게 주소창에 넣는것이 맞나요? 제가 제대로 이해한건지 궁금해서 질문 남깁니다.
- 미해결홍정모의 따라하며 배우는 C언어
9.1 질문
printf의 반환값만 사용하려고 했으나 코드를 실행시켜보면 ******************** stdngowl stdngowl Jeonju, Korea Jeonju, Korea ******************** count = printf("%s", things); 자리에서 반환과 동시에 출력됩니다. 이전 예제에서 반환값을 사용하는 문제를 해결할 때는 정상적으로 작동하였는데 현재 코드에서 무엇이 잘 못된것인지 찾지못했습니다.. 원인이 보인다면 말씀 부탁드립니다. . #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define WIDTH 20 #define NAME "stdngowl" #define ADDRESS "Jeonju, Korea" void stars(int width); void sort(int width, char things[100]); int main() { stars(WIDTH); sort(WIDTH, NAME); sort(WIDTH, ADDRESS); stars(WIDTH); return 0; } void stars(int width) { while(width) { putchar('*'); width--; } putchar('\n'); } void sort(int width, char things[30]) { int count; count = printf("%s", things); while( ((width - count)/2) > 0 ) { putchar(' '); count++; } printf("%s\n",things); }
- 미해결홍정모의 따라하며 배우는 C언어
디버거로 찍어봐도 모르겠습니다...
void swap(char* xp, char* yp); void printStringArray(char* arr[], int size); void selectionSort(char* arr[], int n); int main() { char* arr[] = { "Cherry", "AppleBee", "Pineapple", "Apple", "Orange" }; int n = sizeof(arr) / sizeof(arr[0]); printStringArray(arr, n); selectionSort(arr, n); printStringArray(arr, n); return 0; } void selectionSort(char* arr[], int n) { int min_idx = 0; for (int i = 0; i < n - 1; i++) { min_idx = i; for (int j = i + 1; j < n; j++) { if (strcmp(arr[min_idx], arr[j]) > 0) { min_idx = j; } } swap(arr[min_idx], arr[i]); } } void printStringArray(char* arr[], int size) { for (int i = 0; i < size; i++) printf("%s\n", arr[i]); printf("\n"); } void swap(char* xp, char* yp) { char* temp = xp; xp = yp; yp = temp; } 디버거로 찍어보니 주소 swap이 되는데 막상 값은 바뀌지 않네요... 그리고 이중포인터는 포인터의 주소를 갖는 변수라는 개념은 이해하겠는데 사용하려니 어렵습니다. 교수님 코드에서도 이중포인터를 사용한 이유를 잘 이해 못하겠는데 어찌해야할까요
- 미해결홍정모의 따라하며 배우는 C언어
질문드립니다.
char words[MAXLENGTH] = "A string in an array"; const char* pt1 = "A pointer to a string."; // point the first address of sentence puts("Puts() adds a newline at the end: "); // puts() add \n at the end puts(MESSAGE); puts(words); // char words[21] removes this warning -> Total 81 sizes but, only 21 sizes are initialized puts(pt1); words[3] = 'p'; // OK puts(words); //pt1[8] = 'A'; // Runtime Error 건들이면 안되는 부분임 puts(pt1); char greeting[50] = "Hello, and" " How are" " you" " today!"; //아래 코드와 같음. //char greeting[50] = "Hello, and How are you today!"; puts(greeting); printf("%s, %p, %c\n", "We", "are", *"excellent programmers"); char cookies[1] = { 'A', }; //char cookies[1] = {'A'}; 도 같은 결과가 나옴 puts(cookies); 위 코드를 실행해보니 이렇게 출력되더라고요 그리고 puts(cookies); 에 초록색 밑줄로 String 'cookies' might not be zero-terminated. 라고 나옵니다. 어디서 문제가 발생한건지, Hello, and How are you today! 는 왜 한번 더 출력된건지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
21:00 강의를 듣다가 질문이 생겼습니다.
char* name[] = { "Aladdin", "Jasmine", "Magic Carpet", "Genie" }; 이 때 배열에 저장할 수 있는 각 문자열의 문자 갯수는 제한이 몇 개인가요?
- 해결됨홍정모의 따라하며 배우는 C언어
wrong solution
교수님께서 예시로 들어주신 코드는 num =1 일 때 이 수를 소수로 출력합니다. for문의 check 파트에서 이를 해결하려고 했으나 실패하여 if문을 사용했고 , 입력이 1일 때에 대한 답에 대해 다른 방법으로 해결한 분이 계시다면 공유부탁드립니다.
- 미해결홍정모의 따라하며 배우는 C언어
[문의] 경고 C6001이 뜨는 이유.
C6001 초기화되지 않은 메모리 'str1'을(를) 사용하고 있습니다. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> void main() { char str1[100] = "Hello"; char str2[] = "Hello"; printf("%zu %zu\n", sizeof(str1), strlen(str1)); // C6001 발생 printf("%zu %zu\n", sizeof(str2), strlen(str2)); // 문제 없음. } // main변수 초기화를 했는데, 왜 초기화를 하지 않은 변수를 사용하고 있다고 하는 거죠? 어떻게 해야 경고를 없앨 수 있을까요?
- 해결됨홍정모의 따라하며 배우는 C언어
전처리기와 변수선언
안녕하세요 . 전처리기 선언할 때 "" 쓰거나 .f 를 등등 입력포맷에 따라 string 이나 float를 안쓰고도 정해진 형식으로 지정된다고 받아들여도 될까요? const float와 동일한 역할을 하는데 컴퓨터 내부적으로도 연산속도나 주소를 사용함에 있어서 그 둘의 차이가 없고 단순히 사용자 편의를 위해 #define을 만들어낸걸까요 ? #define을 쓰면 뒤에 선언되는 상수의 변수형태를 판단해야하기 때문에 일반적으로 변수선언하는 것 보다는 아주아주 미세하게 느릴 것 같아서 궁금해졌습니다..
- 해결됨홍정모의 따라하며 배우는 C언어
vscode 터미널에서 벨이 작동하지 않은 문제
printf("\a"); 터미널을 실행시켜 실행파일 작동시키면 소리가 들리지만 자체 터미널에서 작동하지 않는 문제에 대해 단순히 vscode에서 기능을 지원하지 않는 것 일까요? https://github.com/microsoft/vscode/issues/47711 해당 문제를 겪거나 해결하신 분이 계시다면 말씀 부탁드립니다.
- 해결됨홍정모의 따라하며 배우는 C언어
redefinition
redefinition 컴파일 에러를 잡아내는 원리가 궁금합니다. (자료형) (변수명) ; 변수명이 데이터의 메모리에 할당되는 것은 아니라고 생각이드는데 , 저장되기 전에 중복되는가? 여부에서 X로 바로 컷이 되는 건지 저장하고 보니까 호출할 때 데이터가 중복돼서 컴파일에러가 나는 것인지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
선생님 질문있습니다!
우선 영상 초반에 int main() { int temp ; temp = true ? 1024 : 7; printf("%d\n", temp); temp = false ? 1024 : 7; printf("%d\n", temp); return 0; } 1. 이 구문에서 1024와 7이 나왔다는 것은 temp에 쓰레기 값이 저장되어있어서 그런거 맞나요? 이것을 실행시켜보니 2. 이런 결과가 나오는데 temp가 0인데 왜 temp = true? 1024:7; 구문에서 7로 출력이 안되고 1024로 출력되는 건가요?
- 미해결홍정모의 따라하며 배우는 C언어
부동소수점 수
부동소수점수는 부호 지수 가수로 이루어져있는거 아닌가요..?컴퓨터 구조에서 그렇게본거 같아서용!
- 미해결홍정모의 따라하며 배우는 C언어
안녕하세요 교수님 질문있습니다.
마지막 예제에서 5개의 숫자를 배열형태로 입력받아서 합을 출력하는 문제를 해결했는데요, 저는 for문 내에서 i가 하나씩 커짐에 따라 scanf가 한번씩 수행되므로 숫자를 하나씩 엔터키를 사용해서 입력해야 배열에 올바로 들어갈 것이라고 생각했습니다. 5개의 숫자를 스페이스바를 이용해서 한번에 입력하면 뒤에 숫자가 짤리거나 다른 문제가 발생할 줄 알았는데 그래도 배열 한칸 한칸에 잘 입력이 되더라고요. 어떤 원리에 의해서scanf를 한번씩 수행하는 반복문에서 스페이스바를 사용하여 한번에 값을 전부 입력해줘도 값이 잘 할당되는 것인지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
while문 안에 while문 사용은 안좋은 코드인가요?
#include<stdio.h> int main() { int second = 0, minute = 0, hour = 0; while (second >= 0) { printf("Input seconds : "); scanf("%d", &second); minute = second / 60; second %= 60; hour = minute / 60; minute %= 60; while(second>=0){ printf("%d hours, %d minute, %d seconds\n", hour, minute, second); break; } } printf("good bye"); return 0; } 코드가 더 무거워져 장기적으로 봤을 떄 이런 코드는 자제하는 것이 좋을까요?
- 미해결홍정모의 따라하며 배우는 C언어
''과 ""의 차이
안녕하세요 수업듣다가 질문이 생겨서 글을 남깁니다. extra 부분의 내용에서 str5[0] = 'H'; str5[1] = 'e'; str5[2] = 'l'; str5[3] = 'l'; str5[4] = 'o'; str5[5] = '\0'; 이 코드를 str5[0] = "H"; str5[1] = "e"; str5[2] = "l"; str5[3] = "l"; str5[4] = "o"; str5[5] = "\0"; 이렇게 입력하였더니 strlen(str5) 의 값이 105가 나오고 안의 값도 이상한 값이 들어있더라고요. c언어에서 ''와 ""로 선언하는 문자에는 어떤 차이가 있는 건가요? 무조건 한 char를 입력할 때는 '' 긴 문자열을 입력할때는 ""을 사용하면 문제가 없는 건가요?
- 해결됨홍정모의 따라하며 배우는 C언어
안녕하세요 질문이 있습니다
변수 선언이 자료형에 따라 값을 담을 메모리 공간을 확보했고 이를 변수명을 통해 접근한다는 내용은 잘 이해했습니다. 그런데 변수명은 컴퓨터가 어떻게 알게 되는 것인가요? 변수명도 메모리의 변수가 갖고 있는 공간에 변수와 함께 저장이 되어있는 건지 궁금합니다.