월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨홍정모의 따라하며 배우는 C언어
[5.11 자료형 변환] 3:22 부분부터 시작되는 ranking 개념
[ 3:22 ] 시작 자료형의 ranking 개념을 소개해주시고 계십니다. "실수형 사이에서는 랭킹이 명확하다" "정수형은 실수형보다 랭킹이 낮다." "정수와 실수의 연산을 하면 정수를 형변환 한 뒤에 실수끼리 더한다" ranking 개념을 '연산 우선도' 정도로 번역해도 될까요? 단순히 랭킹이 높다 라고 하시니 잘 이해가 되질 않습니다. 이를태면, unsigned int a = 1, b = 0; int c = -2 b = a + c; printf(%u, b); 이러면 unsigned int 변수인 b 가 -1이 되니 오버플로우가 일어나는데 랭크는 연산 순서? 우선도?에만 관련이 있는것이지 표현 범위와는 관계가 없다고 이해해도될까요? (근데 글을 쓰다보니 든 생각인데 애초에 코드를 생각하면서 잘 쓰면 일어날 일이 없는 것이군요...)
- 미해결홍정모의 따라하며 배우는 C언어
질문입니다~
int *ptr=1234;는 ptr에 1234라는 주소를 선언하는것이고 에러가나는 이유는 이 주소에 할당받은 값이 없어서 에러가 발생하는것이 맞을까요?
- 미해결홍정모의 따라하며 배우는 C언어
while문이 안돌아가는 이유가 궁금합니다...
전혀 코드에는 문제가 없어보이는데 왜 while문에 안들어가는거죠?
- 해결됨홍정모의 따라하며 배우는 C언어
9:50 _getch() 관련해서 질문있습니다.
강의에서 보시면 _getche()의 e는 echo의 약자고 입력을 하면 buffer가 없기 때문에 바로바로 출력을 해주기 때문에 메아리처럼 따라온다고 해서 _getche()이라고 하셨는데 저렇게 echo가 되는 것은 밑에 putchar(c); 가 있기 때문이 아닌가요? 같은 이유에서 _getch()도 buffer 없이 글자를 입력받고 while문에 따라서 한글자 입력받을 떄 마다 putchar(c); 를 실행시켜줘야 하는 것이 아닌가요? 아니라면 그 이유가 _getche()는 출력을 해주므로 echo가 붙고 _getch는 출력함수를 무시하기 때문인 것인가요? 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
14.6에서 질문입니다.
안녕하세요. 좋은 강의 잘 듣고 있습니다. 저번에 동적할당 배웠을때는 malloc 받고 나서 free로 메모리를 OS에게 반환해야 한다고 기억하는데요, 이번 강의에서 d1.arr을 받고 나서 반환하는 코드가 보이질 않아서요. 혹시 free를 쓰지 않으신 특별한 이유가 있나 해서 여쭤봅니다. 아! 그리고 만약 반납하고 싶을때는 free(d1.arr);로 해주면 되는 걸까요? 감사합니다.^^
- 미해결홍정모의 따라하며 배우는 C언어
arr[0]=&arr[0]의 주소가 왜 같은지 질문드립니다!
안녕하세요 선생님 강의 듣다가 잘 이해가 안가서 질문을 드립니다. 강의도중 이런 예시가 나왔습니다. int arr[2][3] = { {1,2,3},{4,5,6} }; printf("%p %p %p", arr, arr[0], &arr[0]); arr[0]=&arr[0] 여기서 앞에 arr과 arr[0]의 주소가 같은거는 잘 이해가 되지만 이것들과 뒤에 &arr[0]의 주소가 같은 이유를 잘 모르겠습니다. 강의도중 그 이유를 말씀해주셨지만 그것만으로는 잘 이해가 가지 않아서 질문드립니다. 제가 생각하기에는 배열은 포인터의 역할을 수행하니깐 arr과 &arr[0]은 이중포인터가 되는거 아닌가요? 즉 arr[0]의 값이 들어있는 주소가 아닌 arr[0]의 주소를 담고있는 포인터의 주소라고 생각이듭니다
- 미해결홍정모의 따라하며 배우는 C언어
1.11 명령 프롬프트 자동완성 기능 활성화
3분 43초 경 홍성모 선생님의 컴퓨터 처럼 저의 cmd에서도 tab만 치면 바로 파일명이 자동완성이 되었으면 좋겠지만 제 cmd 에서는 ctrl D 를 눌렀을 때만 자동완성이 되고 tab은 안되네요 ㅜㅜ registry editor 에 들어가 CompletionChar 과 Pathcompletionchar 값도 전부 9로 바꿨는데도 tab으로는 자동완성이 실행이 안되네요 ,, 문제가 무엇일까요..?
- 미해결홍정모의 따라하며 배우는 C언어
unsigned int의 최댓값 출력 오류
강의와 동일하게 진행했는데 오류가 뜨네요. 이거 끝나고 %p로 진행해 보았는데 그래도 안되네요... 뭐가 문제일까요?를 이용해주세요.
- 해결됨홍정모의 따라하며 배우는 C언어
15:58 질문입니다.
modifiable L-values 를 오타 내신건가요? 아니면 현업에서 l value를 줄여서 저렇게 표기하는 약속같은게 있는건가요? 구글링해도 도움이 되지 않아 질문합니다.
- 미해결홍정모의 따라하며 배우는 C언어
strlen 의 결과가 5가나와야 하는데 계속 110으로 나옵니다.
분명히 교수님처럼 5가 나와야 하는데 자꾸 110이 나와서 혼란스럽습니다.. 한 번만 봐주시면 감사하겠습니다. 조교님 감사해요.
- 미해결홍정모의 따라하며 배우는 C언어
strlen() 함수에 관하여
기존에 이와 비슷한 질문이 있는데 추가적으로 궁금한점이 있어서 질문드립니다. 예를 들어 char ch[] = "Testing"; strcpy(ch, "LA"); 위의 코드를 printf() 나 puts() 함수를 이용하여 출력하면 문자열 "LA"가 출력될것입니다 근데 사실상 저 두함수는 NULL을 만나기 전까지만 문자열을 출력하는거니 사실상 ch는 "LA\0ting" 이렇게 메모리에 저장되어있는거잖아요. (뒤의 \0는 생략하고) 그렇다면 제생각에는 strlen(ch) 를 실행할시에 2가아니라 저 메모리에 저장되있는 전부 그대로 7이 나와야되는거 아닌가요? 저 ch 문자형배열의 실제크기가 7이니깐요. 이 함수를 만들때 왜 이렇게 작동하게 구현했는지 궁금합니다...
- 해결됨홍정모의 따라하며 배우는 C언어
realloc함수 질문드립니다.
안녕하세요. 강의 내용인 교수님의 코드를 요약해서 적어보았습니다. 여기서 calloc함수에 대해 free함수로 메모리를 해제 하지않았는데, 이렇게 된다면 calloc함수에 대한 메모리가 남아있게 되나요? 아니면 realloc함수가 calloc함수에 대한 메모리를 알아서 해제 시키나요? (프로그램이 종료되면 알아서 해제되겠지만, 프로그램이 종료되지 않았다는 가정하입니다.)
- 미해결홍정모의 따라하며 배우는 C언어
22:14 구간 예제 질문
예제의 내용이 엔터키와 입력값이 없는 경우가 아닌이상 문자열을 계속 받는 코드잖아요. 그런데 입력값을 NULL, null, '\n', '\0' 요 4개를 입력해도 무한루프가 종료되네요. 어떠한 이유때문에 이런건지 알수 있을까요?
- 미해결홍정모의 따라하며 배우는 C언어
비트연산자질문입니다
#include<stdio.h> int main(void) { printf("AND:%8X\n",0x9&0xA); printf("OR : %8X\n", 0x9 | 0xA); printf(:XOR : %08X\n", 0x9 ^ 0xA); printf("NOT : &08X\n", -0x9): } 출력값이 AND : 00000008 OR : 0000000B XOR : 00000003 NOT : FFFFFF6 로 나오는데, 이유를 알 수 있을까요 ? 비트연산자 논리연산이 이해가 안가네요 ㅠㅠ
- 미해결홍정모의 따라하며 배우는 C언어
10:33 코드 변형하다가 에러발생
위의 코드에서 보시다시피 똑같은 코드임에도 불구하고 main 함수내에서 작성하였을때는 오류가 나지 않는데 함수내에서 작성시 위와같은 에러가 발생합니다. 현재까지 배운 지식으로는 도저히 이유를 알수가 없습니다. 검색해봐도 뜨지않네요.
- 미해결홍정모의 따라하며 배우는 C언어
8.5 숫자와 문자를 섞어서 입력받기 질문
void display(char cr, int lines, int width); int main() { char c; int rows, cols; printf("Input one character and two integers : \n"); while ((c = getchar()) != '\n') { scanf("%d %d",&rows, &cols); display(c, rows, cols); printf("Input another charcter and two integers:\n"); printf("Press Enter to quit.\n"); } return 0; } 저는 여기서 입력시키면 다시 입력 할 수 없습니다. c=getchar() 에서 \n 가 마지막에 입력되서 프로그램이 종료되는 거라면 어째서 선생님 강의에서는 종료되지 않습니까 ?
- 미해결홍정모의 따라하며 배우는 C언어
8.4 사용자 인터페이스는 친절하게
int count = 0; while (1) { printf("Current count is %d. Continue? (y/n)\n", count); if (getchar() == 'n') break; while (getchar() != '\n') continue; } 여기서 왜 while(getchar() !='n') continue; 가 버퍼를 무시하나요. ? 개행문자가 들어 오지 않으면 continue를 만나서 다시 printf로 가야 하는거 아니에요 ?
- 해결됨홍정모의 따라하며 배우는 C언어
3:55 질문드립니다
교수님께서 3:55쯤에 '이 주소가 아니라 이 주소에요' 라고 말씀하시는데 화면을 보면 배열 이름인 mystrings은 주소가 없어야하는게 맞다고 생각했는데 0x012ffcd0이라는 주소를 가지고있어서 의문이 생겼습니다. 배열의 이름은 포인터 상수라고 들었는데 포인터 상수이기 때문에 주소를 가질 수 없지 않나요? 아니면 포인터 상수가 아닌건가요? 배열이름은 첫번째요소를 가리키므로 첫번째요소의 주소값을 가지고 있으면 모르겠는데 mystrings의 주소와 mystrings[0]의 주소가 서로 다르네요. 0x012ffcd0 라는 주소는 어떤 의미를 가지고 있는건지 궁금합니다. 질문을 정리해보자면 1. 교수님께서 말씀해주시진 않았지만 배열의 이름은 포인터 상수라고 어느 책에서 봤는데 배열의 이름을 포인터 상수라고 정의해도 되나요? 2. 1.의 질문이 맞다면, 배열 이름인 mystrings는 포인터 상수(L-value)이므로 주소가 없지 않나요? 3.0x012ffcd0은 어떤 주소를 나타내는건지 궁금합니다. 감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
1차원 -> 3차원 질문입니다.
중간에 1차원 배열을 3차원처럼 사용할 때, 1차원 index 구하는 부분에 궁금한점이 있습니다. idx = d + (depth * c) + (row * col * r) 이라고 되어있는데, r = 2인 경우에는 idx가 12 이상이 나와버리네요.. 혹시 (row * col * r) 이 아니라 ( depth * col * r ) 인가요?
- 해결됨홍정모의 따라하며 배우는 C언어
19:24 질문드립니다.
강의 내용을 토대로 name의 사이즈를 구하고 싶어서 코드를 만들어봤는데요. char* name[] = {"hello", "hi"}; printf("%zd\n", sizeof(name)}; 제가 생각했던 것은 'H', 'e', 'l', 'l', 'o', '\0' , 'h', 'i', '\0' 널 문자를 포함한 총 9개의 문자와 1byte(char타입형)을 곱해 9byte라고 생각했는데 8바이트가 나옵니다.. 왜 그런지 알 수 있을까요??