월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
sizeof(unsigned int)가 출력하는 자료형
안녕하세요,강사님께서는 sizeof(unsigned int)가 unsigned int라는 자료형을 출력하신다고 하는데 저는 unsigned long long이라고 뜹니다. 저는 Window 유저인데 왜 이렇게 다르게 나오는 건가요?(Visual Studio 2022버전입니다)
- 해결됨홍정모의 따라하며 배우는 C언어
17:00 부분 char형 변수 c에 1106 대입 [overflow와 형 변환 간 개념 혼동]
강의 17:00 부분에서 char 타입의 변수 c에 int 타입 10진수 1106을 대입했습니다.char 타입은 1byte 이므로 표현 범위가 -128 ~ 127까지 이며 ASCII 코드의 최대 변환가능한 10진수 decimal도 127입니다.강의에서는 1106을 2진수로 변환하면 0b10001010010, 이걸 다시 char타입의 2진수로 변환하면 0b01010010, 이걸 다시 10진수로 변환하면 82이며 결국 'R'이 된다고 하는데, 왜 overflow가 발생하지 않고, 형 변환이 일어나는 건가요?제가 이해하기로는 이렇습니다.큰 자료형 L-value = 작은 자료형 R-value작은 자료형을 큰 자료형에 넣을 때는 경고는 뜨지만 출력하고, 표현하는데에는 문제가 없고 이것은 promotion이라는 형 변환이 일어납니다.작은 자료형 L-value = 큰 자료형 R-value큰 자료형을 작은 자료형에 넣을 때는 큰 자료형의 R-value 값이 작은 자료형의 표현 범위 안에만 속한다면, demotion되는 형 변환이 일어납니다.※하지만, 큰 자료형을 작은 자료형에 넣을 때 큰 자료형인 R-value 값이 작은 자료형의 표현범위를 넘어선다면, overflow가 발생하게 된다고 이해했습니다.1. overflow와 형 변환의 개념을 각각 알고 있지만, char 타입 변수 c를 볼 때 c = 1106에서 1106이 (char타입의 최대 표현범위인 127을 넘는) 10진수임에도 불구하고, overflow가 아니라 형 변환이 되어 'R'이 출력되는 이유를 모르겠습니다.2. 제가 이해한 내용이 맞는지 확인해주시면 감사하겠습니다.
- 미해결홍정모의 따라하며 배우는 C언어
(14.23)강의 14:45부분 질문
질문1 char(*complicated_function1())[3] 함수는 char3 포인터를 반환해주는 함수인 것은 알겠습니다. 그런데 이 선언을 해석할때 complicated_function1()이 *포인터를 반환하고 이것이 가리키는 것이 char[3]배열이다. 이렇게 해석하면 맞는 것인가요? 질문2 보통 함수를 선언할때 double average(double , double)와 같이 선언하는데 배열의 포인터를 반환할때는 char(*complicated_function1())[3]와 같이 [3]부분을 마지막에 써 준다는 것으로 이해하면 되는것인가요?질문3 char(*complicated_function1())[3]은 char(*)[3]함수 안에 입력으로 complicated_function1()함수를 가지는 것인가요?(자주 질문해서 번거로우실텐데 항상 친절히 답변해주셔서 감사합니다)
- 미해결홍정모의 따라하며 배우는 C언어
(14.11)강의 6:00 6:20질문
질문1 6:00 지점에서 pf->values와 &pf->values값은 주소가 동일한데 이것은 임의의 배열 a[2][5]에서 a[0]와 &a[0]의 주소가 똑같은 것처럼 일종의 약속과 같은 것으로 보면 되는 것인가요?질문2 6:20 지점에서 sizeof(pf->values)가 동적할당을 받았음에도 0이 나오는 것은 신축성 배열 멤버의 특징이다라고 그냥 받아들여야 하는 것인가요?
- 미해결홍정모의 따라하며 배우는 C언어
(14.8)강의 4:15부분 질문
강의에서 scanf로 ptr_nc->first의 입력을 받을때 *ptr_nc의 포인터 형식으로 받아서 &를 안넣어 주었다고 하셨는데 ptr_nc->first자체가 포인터인가요? 그렇다면 ptr_nc->num도 포인터가 될수 있는것 인가요?
- 미해결홍정모의 따라하며 배우는 C언어
(11.9)강의 3:47부분 질문
while 문을 판별해주는 표현식이 *str과 같이 되어있습니다. 강의에서는 null character를 만나면 종료된다고 하는데 null character나 null pointer가 while ()이나 if()의 ()안에 있으면 부울 값 0과 같은 것인가요? 왜 그렇게 되는 것인지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
(11.1)강의에서 12:00부분 질문
강의에서 "are"자체가 char words[MAXLENGTH] 배열에 저장되어 있다고 하는데 이 배열은 "A string in an array"이므로 are이 보이지는 않는것 같습니다. are의 a가 array에 저장되어 있다고 보는 것인가요?
- 미해결홍정모의 따라하며 배우는 C언어
gcc 사용 오류
이렇게 에러가 나오는데 해결책을 모르겠습니다ㅠㅠ
- 미해결홍정모의 따라하며 배우는 C언어
10.15) 14분 경 질문
강의 내용중 14분 20초 경에 궁금한 점이 있어 질문드립니다. p1 = p2; 를 시도하는게 바람직하지 않다고 하셨는데, 그 이유가 무엇일까요? p1에는 const가 없으니 다른 주소를 대입해도 문제가 없고, p2에 저장된 주소를 p1에 대입한다고 해서 p2의 값이 달라지거나 하지 않으니 역시 문제 없는게 아닌가요?
- 미해결홍정모의 따라하며 배우는 C언어
sizeof 연산자 관련 질문입니다.
안녕하세요! 강의를 보면 1:48에 sizeof에 마우스를 갖다 대면 '4U(4 바이트)'라고 뜨는데, 저는 4Ui64라고 뜹니다. 뒤에 더 붙은 i64는 뭔지 궁금해요!
- 미해결홍정모의 따라하며 배우는 C언어
강의 18: 42
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { /* Array Versus Pointer */ const char* pt2 = "I am a String!."; const char* pt3 = "I am a String!."; const char* pt4 = "I am a String!!!!!!."; // <- different const char ar1[] = "I am a String!."; const char ar2[] = "I am a String!."; const char ar3[] = "I am a String!!."; // <- different /* Memory address check */ /* Local variables */ printf("Stack high \t%llu %llu %llu\n", (unsigned long long)&pt2, (unsigned long long)&pt3, (unsigned long long)&pt4); } 위코드를 실행하면 Stack high 1096839066952 1096839066984 1096839067016 이렇게 포인터변수의주소가 32씩 차이나는데 이유가뭔가요? x64에서 실행하면 포인터변수의크기가 8바이트 아닌가요?
- 해결됨홍정모의 따라하며 배우는 C언어
scanf()함수 반환 오류(18:45부분)
강의 18:45부분입니다.강의에서 교수님께서 입력하신대로 동일하게 입력하였으나, 컴파일 후 실행하려고 하면 위와 같은 'I': redefinition; different basic types 에러가 뜨면서 실행이 되지 않습니다. int a, b; int i = scanf("%d%d", &a, &b);printf("%d", i);코드 외에는 강의에서처럼 전부 주석처리 해놓은 상태입니다. 인터넷에 해당 오류에 대해 검색해보니 관련 변수가 앞서 정의하였으나, 또 재정의하였다는 오류라고 하는데.. 분명 주석화하였음에도 재정의 오류가 뜨는건 왜 그런건지 잘 모르겠습니다.
- 미해결홍정모의 따라하며 배우는 C언어
64 86.에 관해
안녕하세요 제가 x64 환경에서 프로그래밍 예제를 따라쓰고 결과를 보았는데요, 예제중 printf("%f %d %d\n\n", n1, n2, n3); 이 부분에서 원래라면 첫 n1의 값은 잘 나오고 ,n2와 n3.의 값이 모두 쓰레기 값이 나와야하는데 x64환경에서는 n2의 값만 쓰레기가 나오고 n3의 값은 1024로 잘 나오는데? 이유가 뭔가요?
- 미해결홍정모의 따라하며 배우는 C언어
Strcmp()함수 구현 질문있습니다!
다른 분들이 한 거 찾아봤는데 Int my_strcmp(char*str1, char*str2) { While (*str1) { if (*str1 != *str2) Break; Str1++; str2++; } Return *(char*) str1 - *(char*) str2; } 로 하신분이 있더라고요! 여기서 질문은 str1과 str2는 이미 char 타입 포인터인데 왜 캐스팅을 하는지 궁금합니다!
- 미해결홍정모의 따라하며 배우는 C언어
.5s 와 .s 관련 질문입니다.
printf(".5s\n", "ABCDEFGHIJKLMN"); // ABCED 출력printf(".s\n", "ABCDEFGHIJKLMN"); 를 출력해봤는데 .5s .s만 출력이 됩니다. warning C4474: 'printf' : too many arguments passed for format string message : placeholders and their parameters expect 0 variadic arguments, but 1 were provided 오류가 뜨는데, 어떻게 해결해야 하나요?
- 미해결홍정모의 따라하며 배우는 C언어
(10.13)강의에서 20:34, 21:25, 22:03 부분 질문
강의 20:34에서 char aname [][15]과 같이 2차원 배열을 만들어 문자열 원소들을 초기화 해주었는데 이것이 어떻게 배열안에 저장되는지 이해가 되지 않습니다. 첫번째 배열 인덱스가 지정되지 않았는데 어떻게 초기화 되는 것인가요? 그냥 한 행에 다 들어가는것인가요? 그리고 강의 21:25부분에서 배열의 배열이기 때문에 an = sizeof(aname) / sizeof(char[15])에서 사이즈를 sizeof(char[15])로 나누어 크기를 구했다고 하는데 잘 이해가 되지 않습니다. 하나의 원소의 크기로 나누어 사이즈를 구해야 되는 것이 아닌가요? 제가 생각하기에는 어차피 한 행에 원소들이 다 들어가니까 전체크기를 열의 크기로 나누면 한 행의 사이즈 크기가 나오므로 그 크기만큼 원소를 for문으로 출력해준다고 생각이 되는데 어떻게 생각해야 하는지 질문드립니다. 마지막으로 강의 21:03 부분에서 포인터 배열인 name의 출력결과가 원래는 주소인데 %s로 출력해서 문자열로 나오는 것으로 알고 있는데 주소가 문자열로 나오는 것은 아스키 코드의 값과 관련이 있는건가요? 그렇다면 제 생각에는 문자열의 주소를 저장해서 그 주소(어떤값)을 문자열로 출력한다면 아스키 코드값에 따라 주소에 해당하는 문자열이 나올것 같은데(즉 저장된는 주소값이 달라지면 문자열도 달라진다고 생각합니다) 정확하게 입력한 문자열이 나오게 되는 것이 이해가 되지 않습니다. 정확히 어떻게 %s로 주소값이 문자열로 출력되는 건가요? (혹시 가능하시다면 추가적으로 이와 연관된 강의를 알려주시면 좋겠습니다.)
- 미해결홍정모의 따라하며 배우는 C언어
줄 세기 관련코드
두번째 if 조건에서 !isspace(c)는 필요한가요?? 없어도 문제없다고 생각해서 실행했는데 의도대로 실행되기도해서.. 궁금해서 질문드립니다
- 미해결홍정모의 따라하며 배우는 C언어
f11을 이용한 디버깅
abc de f g. 코드를 한 단계씩 실행할 때 a입력하고 f11을 누르면 다음 줄로 이동하지않고 엔터를 누르면 넘어가긴하는데 이것도 새로운 입력이니까 의도대로 실행 되는건아닌거같은데.. 뭐가 문제인걸까요,,?
- 미해결홍정모의 따라하며 배우는 C언어
NULL 관련 질문
char str1[3]="HEL" printf("%c, %c, %c", str1[0], str1[1], str1[2]); 했을때 출력 결과과, H,E,L 모두 잘 되는데 칸이 3개이고 HEL이 다 들어갔는데 NULL은 어디 간건가요? 애초에 [3]으로 하고 = "HEL" 하면 오류가 나야하는것이 아닌가요?
- 미해결홍정모의 따라하며 배우는 C언어
null
혹시 숫자의 배열에서는 NULL 이 붙지 않나요?