월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
질문입니다
null character는 문자열 뒤에 붙지만 숨어있다 하셨는데, 그럼 실제로 제가 문자열을 적을 때에도 null character를 굳이 쓰지 않아도 컴퓨터 안에서 알아서 null character는 붙여 주는 건가요? 그리고 제가 직접 null character를 적어도 되나요? 아니면 컴퓨터가 알아서 하게 그냥 납두는 게 나은 가요?
- 미해결홍정모의 따라하며 배우는 C언어
scanf를 사용해서 예제 1번을 풀려하는데..ㅠㅠ
#include<stdio.h> int main() { char alpa = 'A'; char beta = 'K'; int recycle = 0; int num = 0; printf("How much recycling? : \n"); scanf("%d", &recycle); printf("Recycle : %d\n", recycle); for (num; num <=recycle; num++) { for (alpa; alpa <= beta; alpa++) { printf("%c", alpa); } char alpa = 'A'; } } -- 첫번째 for문에서 scanf로 받은 값 만큼 반복시키려고 했는데.. 왜 안되는지 아무리 생각해도 모르겠네요.ㅠㅠ... 넘 어렵네요..
- 미해결홍정모의 따라하며 배우는 C언어
경고 C6001
저도 아래의 질문자와 같은 현상이 이러나고 있어요 str1~str4 까지 워닝 C6001이 뜨네요 (str2 제외) 이 버전의 IDE를 쓰고 있습니다. Microsoft Visual Studio Community 2019 Version 16.8.2
- 해결됨홍정모의 따라하며 배우는 C언어
메모리 패딩관련 질문입니다.
1 word 당 bytes가 적으면 여러번 데이터를 주고 받아야하므로 더 느리게 된다. 그러나 메모리 공간은 적게 잡아먹는다. -> 느리지만, 메모리공간효율 좋음 1 word 당 bytes가 많으면 속도는 빠르게 되지만, 메모리 공간을 많이 잡아먹는다. ->빠르지만, 메모리공간효율 나쁨 라고 이해했습니다. 제가 잘 이해한 건가요?? 어떤게 더 효율적인 건가요?? 그리고 11:52초쯤 교수님께서 실행한 코드 struct Padded2 { float a; double b; char c; }; struct Padded2 p2; printf("\nstruct Padded2 p2\n"); printf("Sizeof %zd %zd\n", sizeof(struct Padded2), sizeof(p2)); printf("%lld\n", (long long)&p2); printf("%lld\n", (long long)&p2.a); printf("%lld\n", (long long)&p2.b); printf("%lld\n", (long long)&p2.c); } 이 코드가 x86에서도 size가 24로 나옵니다. 교수님께서 설명하신 점과는 달리 x86도 1 word가 8bytes인 거겠죠??
- 미해결홍정모의 따라하며 배우는 C언어
안녕하세요
제가 실수로 어쩌다보니 x86 x64 두가지의 방식으로 빌드했는데요. x86으로 할때는 아무 에러 안뜨는데 x64로 했을때는 warning C4477: 'printf' : format string '%u' requires an argument of type 'unsigned int', but variadic argument 1 has type 'size_t' message : consider using '%zu' in the format string 그리고 C6328 Size mismatch:'unsigned_int64' passed as_Param_(2) when 'int' is required in call to 'printf'. 이런게 뜨는데요 Visual Studio IDE에서 x86이랑 x64이 기능의 역할이 뭔가 많이 다른가봐요? 그리고 혹시 Visual Studio IDE 도구들을 좀 더 자세하게 설명하는 그런 사이트 아시면 알려주실 수 있을까요?
- 미해결홍정모의 따라하며 배우는 C언어
사진과 같은 경고가 뜨는 이유가 무엇인가요??
(사진)
- 해결됨홍정모의 따라하며 배우는 C언어
.exe파일 생성시 파일이름에 관하여
build를 통해 성공적으로 exe파일이 생긴것 까진 되었는데 교수님 폴더에 생긴 실행파일은 이름에 자동적으로 .exe가 들어가있는데 저의 실행파일에는 사진에서 보다시피.exe가 자동적으로 들어가지가 않아서 질문 드립니다 설정을 바꿔야 되는 것인가요?
- 미해결홍정모의 따라하며 배우는 C언어
정말 제가 바보인가요 이해가 너무 안되네요 ㅠㅠ
if (!isspace(c) && !line_flag) { n_lines++; line_flag = true; } if (c == '\n') line_flag = false; 여기에서요 !line_flag 면 if문에서 true값인지를 검사하는 거 잖아요,, 근데 define에서 false로 먼저 선언을 하고서 if문 위에 true로 flag값을 바꿔주는 문장이 없는데 어떻게 true값이 if문에서 '참'으로 통과가 되나요????...
- 미해결홍정모의 따라하며 배우는 C언어
비주얼 스튜디오 alignment 질문있습니다.
질문 1) double dx; char ca; int it; double ddr; printf(" %lld\n", (long long)&dx % 8); printf(" %lld\n", (long long)&ca % 8); printf(" %lld\n", (long long)&it % 8); printf(" %lld\n", (long long)&ddr % 8); 이 코드를 비주얼 스튜디오에서 돌리면 dx와 ddr의 주소를 %8한 값이 0으로 안나올 때가 많습니다. online gcc compiler와 다르게 왜 안나오는지 궁금합니다. 근데 제 생각에는 안나오는게 정상인 것 같습니다. alignof를 쓰지 않고 online gcc compiler처럼 딱 맞게 나오려면 double형은 항상 메모리 주소가 8의 배수고 int형은 4의 배수 이런식으로 메모리상에 주소를 배치 받아야 되지 않습니까? online gcc compiler는 내부적으로 이렇게 굴러가는 건지도 궁금합니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 질문2) char alignas(8) cz;를 하고 printf(" %lu\n", _Alignof(cz));를 하면 8이 출력됩니다. 이렇게 cz의 메모리상 배치를 강제로 8의 배수로 하면 왠지 메모리 패딩같은게 일어날 것 같은데 실제 메모리 내부적으로 어떻게 처리 되는지 궁금합니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 질문 3) 마지막에 배열을 만들때도 alignas를 사용한다고 하셨는데 unsigned char alignas(long double) c_arr[10]; 에서 unsigned char 방이 10개가 있는데 그 10개의 방 모두 long double로 alignment를 지정해준 건가요?
- 미해결홍정모의 따라하며 배우는 C언어
release debug
6:30초 쯤에 realease mode 랑 debug mode가 다르게 작동한다고 말씀해주셨는데 기본적으로 둘의 기능이 어떤식으러 다른가요?
- 미해결홍정모의 따라하며 배우는 C언어
BYTE_MASK의 필요성
질문 1. alpha = rgba_color >> 0; blue = rgba_color >> 8; green = rgba_color >>16; red = rgba_color>>24; 이렇게 구현해도 unsigned char에는 앞자리 숫자는 다 잘리고 1byte만 들어가지 않습니까? (실제로 값도 제대로 나옵니다) 근데 BYTE_MASK를 쓰는 이유가 이런 데이터의 손실(앞의 숫자가 잘려나가는 상황)은 최대한 지양하기 위해서 인건지 궁금합니다. 추가로 다른 이유도 있는지도 궁금합니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 질문 2. 교수님은 괄호를 blue = (rgba_color >> 8 & BYTE_MASK); 이렇게 치셨는데 특별한 이유가 있는지 궁금합니다. 괄호를 안쳐도 잘 돌아가고 제가 볼 땐 green = (rgba_color >> 16 ) & BYTE_MASK; 이렇게 치는게 더 가독성이 높은 것 같습니다.
- 미해결홍정모의 따라하며 배우는 C언어
21분 쯤에 궁금한게 있어요
21분에 float f5 에서 리터럴을 16진수로 나타냈는데 16진수로 나타낼 때에는 리터럴 뒤에 f를 붙일 필요가 없나요? 그리고 23분 40초 쯤에 a가 16진수를 출력할 때 사용하는 형식 지정자라고 하셨는데 전 수업에 %x를 사용해야 16진수로 출력된다고 기억하는데 a하고 x 둘다 사용이 가능한 가요?
- 미해결홍정모의 따라하며 배우는 C언어
8분53초경
8분53초 쯤에 while(fabs(guess - PI) >0.01) 이 문장에서 >는 왼쪽이 오른쪽 보다 크다면 이라는 관계연산자인데 왜 이하 라고 해석되는건가요?
- 미해결홍정모의 따라하며 배우는 C언어
매크로
인터넷에서 매크로의 뜻을 찾을 때 어떠한 코드를 작성하고 그 코드에다 이름을 부여해 그 코드를 호출하여 사용하는 일종의 subprogram같은 개념이라는 정보를 봤는데 그게 맞나요?
- 미해결홍정모의 따라하며 배우는 C언어
5분 40초 쯤 질문입니다.
int row = 3, col = 2; int(*ptr2d)[2] = (int(*)[2])malloc(sizeof(int) * row * col); 이 라인에서 2차원 배열 포인터를 만들 때 포인터 변수 뒤에 왜 column 값을 넣어주는 건가요? 저는 같은 row끼리는 같은 포인터 변수를 사용하여 연산할 수 있으므로 row가 넘어갈 때 포인터 변수의 인덱스가 바뀌어야한다고 생각했습니다. 그리고 malloc의 타입 변환에서 (int(*)[2]) 이렇게 선언하는 것도 잘 이해가 안됩니다. 저런 자료형도 존재하는 건가요? 그냥 규칙이라고 받아들여야하나요?
- 해결됨홍정모의 따라하며 배우는 C언어
\n
영상에서 나온 function definition을 따라 쓰고 디버깅 해봤는데 while(n-->0)에 가서 printf("*");까지만 가고 아래 있는 프린트f 함수는 무시하다가 마지막에 그 함수를 지나가는데 왜 그러는건가요? printf("*")가고 아래있는 프린트f 함수에 가야하는것 아닌가요?
- 미해결홍정모의 따라하며 배우는 C언어
실수
2분36초 쯤에 왜 1.25가 float에 절삭당하죠? Float가 실수형이고 1.25보다 더 세밀하게 수를 나타낼 수 있는거 아닌가요? 그리고 왜1.25가 double인가요?float라고도 할 수있지 않나요?
- 미해결홍정모의 따라하며 배우는 C언어
mingw-w64 설치 오류나시는 분들
https://m.blog.naver.com/kh2un/222037244807 여기 참조해서 따라하니 해결되네요! 오류뜨시면 참고하세요~
- 미해결홍정모의 따라하며 배우는 C언어
5:34초 내용에 질문이 있어요
5분 34초에 형식 지정자를 모른다고 가정하신 다 했는데 16줄에 % 다음에 d는 어떻게 나온 거죠? 원래 d를 무조건 넣고 시작하는 건가요?
- 미해결홍정모의 따라하며 배우는 C언어
2:30 ~2:3 2
오디오가 나갔습니다. 확인부탁드립니다.