inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

강의 내용 중 주석 Cannot change heart. Can change ...

해결됨

홍정모의 따라하며 배우는 C언어

강의 20분 중반대부터 보이는 // Cannot change heart. Can change the elements of heart 가 이해가 가지 않습니다. heart는 배열이여서 바꿀 수 있다고 생각했는데 (바로 뒤에 요소 수정 가능이라고 나와있긴 해서 헷갈림) // Cannot change head. 를 의도했는데 잘못 표기된 것인지 아니면 heart 라는 배열의 이름에 접근할 수 없다는 뜻인지 모르겠습니다. 감사합니다

  • c
최승원 댓글 1 좋아요 2 조회수 255

형식이 다른 숫자의 연산

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요 선생님 다름이 아니라 수업시간에 정수 숫자를 하나 입력받아서 처음에는 3으로 나누고 출력 다음 줄은 double형식으로 변환해서 3으로 나누어 출력하는것은 error 없어 출력이 잘되는데요 아래와 같이 정수를 입력받아 double형식으로 변환 후 정수와 나머지를 계산하면 오류가 뜨던데 이것은 실수형식과 정수형식을 나눠서 나머지를 구하면 너무나 많은 나머지의 소수점 자리수가 나와서 출력이 안되는 것인가요? (double)x/3는 출력이 잘되고 (double)x%3은 실행이 안되는 이유가 궁금합니다.

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
semu0523 댓글 1 좋아요 0 조회수 245

4분경 질문

미해결

홍정모의 따라하며 배우는 C언어

사진처럼 오류가 뜨면서 디버그가 안 된다고 하는데 어디가 문제인지 잘 모르겠어요. 오류 내용 보면 저장 위치랑 관련 있는 것 같은데 이리저리 뭘 해봐도 잘 안 되네요

  • c
양주원 댓글 2 좋아요 1 조회수 287

강의와 다름

미해결

홍정모의 따라하며 배우는 C언어

화면과 똑같이 코딩을 했는데 실행을 하면 Hello, world가 뜨는 게 아니라 그냥 검은 빈 화면만 뜨는데 뭐가 잘못된 건가요? 마지막 부분에서 F10 눌러도 Hello, world가 뜨는 게 아니라 똑같이 그냥 빈 화면만 뜨네요.

  • c
양주원 댓글 1 좋아요 1 조회수 214

double d = 0.0;으로 초기화하는 이유

해결됨

홍정모의 따라하며 배우는 C언어

위에서 다른 값들은 입력할 때 초기화를 시키지 않았는데 double d만 값을 초기화하는게 궁금합니다. 제 생각을 말씀드리면 앞의 예제들을 실행시켰을 때 값을 입력하지 않았음에도 어떠한 값이 이미 출력되더라구요. 이게 혹시 초기화를 시키지 않아서 발생했던 문제들인가요??

  • c
강진성 댓글 2 좋아요 2 조회수 593

9분 48초 (*(parr + 1))[1] 이게 이해가 잘 안되네요

해결됨

홍정모의 따라하며 배우는 C언어

(*(parr + 1))[1]을 제가 해석해보자면 parr은 arr0을 가리킨다. 거기에 1을 더하면 arr1을 가리키게 된다. 거기에 *를 붙이면 arr1이 가리키는 arr1[0]을 가리키게 된다. 여기에 [1]를 붙이면? arr1[0][1]을 가리키게 되나? 아니면 arr1[1]을 가리키게 되나? 아니면 arr1[1]이 되나? 출력값이 5인걸 보면 맨 오른쪽인것 같은데 (*(parr + 1))은 &arr1[0]이고 거기에 [1]을 붙인다는 게 정확하게 무슨 뜻 인가요? 어떤 식으로 작동하는건지 이해가 잘 안되요. parr[0]은 &arr0[0]이고 parr[0][0]은 arr0[0]이다. 라는 것과 비슷하게 작동하는 건가요? 항상 좋은 답변 감사합니다.

  • c
용개형멋져 댓글 3 좋아요 2 조회수 420

주소끼리 뺄셈

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요 널널한 개발자님 강의를 듣고 있는 초보자 수강생입니다. 강의를 듣던 중 궁금한 사항이 있어 질문드립니다. 아래에서와 같이 pszData와 szBuffer는 주소인데 pszData-szBuffer처럼 주소끼리의 뺄셈이 원래 가능한건가요? 답변 부탁드리겠습니다.

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
이동현 댓글 1 좋아요 0 조회수 180

필수 실습문제 1

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요 독하게 시작하는 C언어 프로그래밍 필수 실습문제 1번 질문있습니다. 문제는 나이와 이름을 입력받아 출력하는 문제인데요 저는 이름을 입력받을 문자배열을 선언할때 어떤 길이가 나올지 모르니 최대한 많은 공간을 미리 확보하기 위해 char ch[ ] = {0}; 으로 선언했는데 이렇게 하면 오류가 뜨고 선생님처럼 char ch[32] = {0}; 문자배열의 길이를 선언해야 오류 없이 실행되더라구요 문자배열을 어느 길이로 입력 받을 지 모르니 저처럼 설정하면 왜 안되는 걸까요? 또한 scanf_s("%d%c", %x); 구문에서 입력받은 변수가 int 형으로 정수를 입력 받았는데 그럼 scanf_s("%d%d", %x); 이렇게 입력해야 맞는 것 아닌가요? 왜 scanf_s("%d%c", %x); 이렇게 입력해도 실행이 되는 지 궁금합니다

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
semu0523 댓글 1 좋아요 0 조회수 243

CAN 통신에 사용되는 CANable 보드의 펌웨어

미해결

HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌

영상에서 사용되는 CANable 보드에 펌웨어 넣는 작업도 영상으로 올려주세요

  • c
  • iot
  • 드론-개발
현정호 댓글 2 좋아요 0 조회수 1710

14.26강 연습문제 질문이 있습니다.

해결됨

홍정모의 따라하며 배우는 C언어

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <stdbool.h> void update_string(char*, int(*)(int)); void ToUpper(char*); void ToLower(char*); void Transpose(char*); // TO DO : add a new menu int main(void) { char options[] = { 'u', 'l' }; int n = sizeof(options) / sizeof(char); // 함수 포인터의 배열 typedef void (*FUNC_TYPE)(char*); FUNC_TYPE operations[] = { ToUpper, ToLower }; printf("Enter a string\n>> "); char input[100]; while (scanf("%[^\n]%*c", input) != 1) printf("Please try again.\n>> "); printf("Choose an options:\n"); printf("u) to upper\n"); printf("l) to lower\n"); char option_choice; while(scanf("%[^\n]%*c", &option_choice) != 1) printf("Please try again.\n>> "); // 선택한 옵션에 따라 대문자/소문자로 변경 // options 배열을 순회하며 options에서 선택한 옵션의 index 추출 int option_choice_index = 0; for (int i = 0; i < n; ++i) { if (options[i] == option_choice) { option_choice_index = i; break; } } // 문자열 변경 함수 실행 update_string(input, operations[option_choice_index]); // 문자열 출력 puts(input); return 0; } // 문자열 전체를 대문자/소문자로 변경하는 함수 void update_string(char* str, int(*ptr_func)(int)) { char* arg1 = str; int(*arg2)(int) = ptr_func; (*ptr_func)(str); }; // 문자열 전체를 대문자로 변경하는 함수 void ToUpper(char* str) { char* arg3 = str; while (*str != '\0') { *str = toupper(*str); str++; } }; // 문자열 전체를 소문자로 변경하는 함수 void ToLower(char* str) { while (*str != '\0') { *str = tolower(*str); str++; } }; update_string 함수에서 (*ptr_func)(str); 를 실행할 때까지 str의 주소가 잘 잡힙니다. 그런데 (*ptr_func)(str); 를 실행해서 ToUpper 함수 안으로 진입하면 str의 주소가 잡히지 않는데 왜 이런지 잘 모르겠습니다..

  • c
쉽지않네 댓글 1 좋아요 2 조회수 240

선생님 질문 있습니다.

해결됨

독하게 시작하는 C 프로그래밍

매번 질문에 답해주셔서 너무 감사합니다 이번 내용 이해하기 쉽게 해주셔서 머리에 쏙쏙 들어왔습니다. 혹시 이 코드들 중에 문법적으로 오류나 아니면 이렇게 하는 습관(?)은 안 썼으면 하는 게 있으시다면 알려주세요! 미리 감사드립니다. 😊

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
최종원 댓글 2 좋아요 0 조회수 375

8분 40초경 질문

미해결

홍정모의 따라하며 배우는 C언어

int sum2d_2(int ar[][COLS], int row); 에서 COLS 자리의 인덱스에 숫자를 적어주는 이유는 ar이라는 포인터의 행의 사이즈는 int * (COLS 자리의 인덱스) 이기 때문이다. 라고 해봤는데 이게 맞거나 비슷한 표현 일까요? 제 표현이 틀린 것 같아 답변자 분이 이해를 할 수 없을 것 같기도 하네요.. ㅈㅅ함미다.

  • c
용개형멋져 댓글 1 좋아요 2 조회수 261

6분 54초경 질문

해결됨

홍정모의 따라하며 배우는 C언어

그냥 그렇나 보다 하고 지나칠뻔한 걸 한번 의심을 하니 문제를 놓을 수가 없게 되었습니다. 1. int ar1[2][3] = { {1, 2, 3}, {4, 5, 6} }; int* pt; pt = &ar1[0][0]; for (int i = 0; i < 6; ++i) printf("%d %d ", pt[i], *(pt + i)); 2. int arr[2][3] = { {1, 2, 3}, {4, 5, 6} }; int* parr[2]; parr[0] = arr[0]; parr[1] = arr[1]; for (int i = 0; i < 2; ++i) printf("%p %p ", parr[i], *(parr + i)); 둘 다 똑같이 출력을 했는데 1번 예제는 값이, 2번 예제는 주소가 출력 되는 이유 그러니까 parr[i]가 주소를 출력하니 pt[i]도 주소를 출력 해야 할 것 같은데 값을 출력하는 이유가 궁금합니다. parr은 포인터의 배열이고 pt는 포인터라서? parr의 자료형은 int (*)[3]이고 pt의 자료형은 int*라서? 뭔가 연관이 있을 텐데 저는 어떤 연관이 있는 건지 쉽사리 연결 지을 수가 없더라구요. 꼭 알려주셨으면 합니다. 항상 좋은 답변 감사합니다.

  • c
용개형멋져 댓글 2 좋아요 2 조회수 367

릴리즈모드 디버그모드 scnaf 오류

미해결

홍정모의 따라하며 배우는 C언어

릴리즈 모드가 아니라 디버그 모드를 사용해서 i와j의 합을 볼려했는데 왜 디버그 모드상태에서 scanf를 사용하면 오류가 나나요??

  • c
yuntyu01 댓글 1 좋아요 1 조회수 252

14.24강 09:54 질문이 있습니다.

해결됨

홍정모의 따라하며 배우는 C언어

앞에 말씀하신 부분 중 함수 실행의 결과로 배열을 반환할 수 없다고 하셨었는데 그러면 09:54에서 식별자 x2 는 함수 포인터 배열의 포인터 가 되는건가요??? int(*x2[10])(int);

  • c
쉽지않네 댓글 1 좋아요 2 조회수 163

scanf()의 작동 원리(?)에 관한 질문 (따배C - 8.7)

해결됨

홍정모의 따라하며 배우는 C언어

#include <stdio.h> int main() { /* Assume that your input is : Hello 123 3.14 */ char str[255], tmp; int i = 0, i2 = 0; double d = 0.0; scanf("%s %d %lf", str, &i, &d); // POINT1 printf("%s %d %f\n", str, i, d); // or (see the difference) scanf("%c", &tmp); // POINT2 printf("My input was %c!!!\n", tmp); // POINT2_1 scanf("%s %d %d", str, &i, &i2); // POINT3 printf("%s %d %d\n", str, i, i2); // or (see the difference) char c; while ((c = getchar()) != '\n') putchar(c); printf("\n"); return 0; } 안녕하세요 강의를 듣다가 평소에는 무심코 지나쳤던 부분이 눈에 밟혀 질문 드립니다. POINT1에 정상적인 값들을 입력하고 Enter를 누르면 POINT2에서 '\n'이 입력되고 POINT2_1에서 '\n'이 출력된 것을 확인했습니다. 그렇다는 것은 버퍼에 '\n'이 남았다는 것을 알 수 있습니다. 여기서 궁금증이 생겼습니다. POINT2, POINT2_1을 지우고 실행하면 왜 POINT3에서 정상적인 값들을 입력했을 때 str에 '\n'이 입력되지 않는지 궁금합니다. 처음에는 printf() 함수가 알아서 버퍼를 비워주나 생각했었지만 POINT2, 2_1을 통해 그건 아니라는 것은 확인했습니다. 그래서 제 딴에 생각한 것은 'scanf() 함수에서 여러 개의 값들을 입력 받으면 (한 개의 값만 입력 받을 때와 달리) 버퍼에 남아있던 '\n'을 자동으로 무시해 주는 것이다.' 인데 이것이 맞는지 궁금합니다.

  • c
최승원 댓글 1 좋아요 2 조회수 223

32bit 와 64bit 자료형 크기

해결됨

독하게 시작하는 C 프로그래밍

정수형 강의 내용 중 long 자료형 크기에 대해 궁금한 점이 생겨 질문드립니다! 64비트 기준으로, long 자료형이 4바이트라고 설명해 주셨는데, sizeof 연산자로 long 변수 크기를 확인할 경우 8바이트로 나오게 되어 질문드립니다. 제목과 같이 32와 64간 자료형의 크기를 비교한 자료가 있을까요?? 검색 결과 작성자마다 약간씩 차이를 보여 질문드립니다. 감사합니다.

  • c
댓글 1 좋아요 0 조회수 387

이해가 안되는 부분이 있습니다.

미해결

IT 기업 취업을 위한: 코딩테스트 혼자서 정복하기 (C/C++)

안녕하세요 선생님 질문이 하나 있습니다. dp(6-5) = dp(1)이고 dp(6-3)은 dp(3)을 나타내고 이제 6번째 배열에서 Min(dp(1)+1, dp(3)+1)에서 최소값은 왼쪽 dp(1)+1이 아닌가요? 왜 dp(3)+1로 된건지 이해가 안갑니다. 대괄호가 기입이 안돼 소괄호로 대체합니다.

  • c
  • 코딩-테스트
sang ji Choi 댓글 1 좋아요 0 조회수 352

float 출력관련 질문

미해결

C 와 C++ 을 동시에 배워보자 - 두들낙서의 C/C++

#define CRT SECURE_NO_WARNINGS#include <stdio.h>int main() { float a, b; scanf("%f%f", &a, &b); //&:포인터 float hap = a + b; float cha = a - b; float gop = a * b; float mok = a / b; printf("%f + %f = %f\n", a, b, hap); printf("%f - %f = %f\n", a, b, cha); printf("%f * %f = %f\n", a, b, gop); printf("%f / %f = %f\n", a, b, mok);} 코드는 대략 이러한데, 예시로 입력값을 555.3과 234를 넣으면 555.299988과 234를 기준으로 계산이 됩니다. 왜 그런지 아시는 분이 혹시 계시다면 답변해주시면 감사드리겠습니다.

  • c
  • c++
김민성 댓글 1 좋아요 0 조회수 304

컴파일러 셋팅 및 코딩의 시작에서

해결됨

[쥬신게임아카데미 버거쌤] 완전 초보자를 위한 게임 C++

폰트 자료 올려두셨다는 곳이 어디예요...????

  • c
  • c++
evilbition 댓글 1 좋아요 0 조회수 553

인기 태그

인프런 TOP Writers

주간 인기글