홍정모의 따라하며 배우는 C언어
홍정모의 따라하며 배우는 C언어
수강정보
(88개의 수강평)
1557명의 수강생
스킬태그 #C
55,000원
지식공유자 : PP TREE
242회 수업 · 총 51시간 5분 수업
기간 : 평생 무제한 시청
수료증 : 발급 강의
수강 난이도 : 입문, 초급
이동욱 프로필

파일 오픈 안됨 질문 이동욱 2일 전
안녕하세요  다름이 아니라 아무리 확인해도 파일 오픈이 되지 않고 if로 들어가서 종료가 되는데 왜그런지 알수가 없습니다.. 답변 주시면 감사하겠습니다.

1
Man Do 프로필

scanf warning Man Do 5일 전
디버깅을 할 때마다 밑에 Code:C6031 Return value ignored 라는 warning이 뜹니다... 어떻게 해야하나요?

4
solitary 프로필

이제와서 조금 늦은 질문인 것 같지만 solitary 7일 전
#include <stdio.h> int main() { const char* mythings[5] = { "Dancing in the rain", "Counting apples", "Watching movies with friends", "Writing sad letters", "Studying the C language", }; printf("%s\n", mythings[0]); } return 0; 배열mythings는 char에 대한 포인터 배열이고 mythings[0]은 문자열"Dancing in the rain"의 첫 번째 주소, 'D'가 있는 주소인데 이 주소를 string으로 출력하면 어떻게, 어떤 원리로 문자열이 출력되는지 모르겠습니다. puts함수도 아닌 printf함수인데 어떻게포인터로 문자열을 출력할 수 있는지 궁금합니다. 2. 디버거로 메모리 구조 확인할 때 의문점이 생겼는데요 0x00837B30는  포인터mythings[0]자체의 주소가 아닌 mythings[0]가 가리키고 있는  주소인 것이죠? 추가로 개인적인 질문인데 yourthings[0]를 포함해 yourthings배열의 원소들이 가리키는 주소는 mythings의 원소들과 다르게 F2로 주소수정 및 복사가 안되는지 궁금합니다.

1
dudejr9614 프로필

3.7 강의 질문입니다. dudejr9614 10일 전
다른 출력값들은 정확히 출력이 되는데 printf("short = %hhd, %hd, %d\n", s, s, s); short  %hhd에도  200  이 나오는게 궁금합니다. 온라인 컴파일러에는 값이 이상없이 나옵니다. gcc컴파일러 문제일까요? 구글링을 해보니  %hhd 는 1바이트 정수를 받는 서식지정자이고  short는 2바이트이니 값이 다르게 나와야 되는게 맞는거죠? 제가 어디서 부터 잘 못 했는지 잘 모르겠습니다..  항상 질문 답변 해주셔서 감사합니다.

1
solitary 프로필

int[2]의 의미 solitary 10일 전
정확한 의미가 잘 와닿지 않아서 질문드립니다 (int[2]) { 1, 2 }에서 int[2]의 의미는 int타입의 어떤 값 2개로 된, 이름 없는 리터럴을 원소로 하는 배열을 의미하는 것인데 결국 (int[2]) { 1, 2 }는 초기화되지 않은 쓰레기값 2개와 { 1, 2 } 즉 (쓰레기값1, 쓰레기값2) { 1, 2 }  이렇게 각각 4개의 리터럴과 2개의 복합리터럴로 구성된 것이라 이해하면 될까요?

1
solitary 프로필

대댓글로 재질문 드렸는데 못보신거 같아서 한번 더 질문드립니다. solitary 10일 전
1. arr[0]이라 하면 index가 0인 배열의 첫 번째 원소의 주소이듯이 2차원 배열이름인  arr은 arr[0]과 arr[1] 두 배열 중 첫 번째 주소가 arr[0]이기 때문에 arr == arr[0]인 것인지요? 2. 다른 질문으로는 arr[0]와 &arr[0]는 배열에서는 같지만 포인터 배열에서는 달라질 수 있다고 하셨는데 일반 배열에서는 arr[0]와 &arr[0]가 같다는 설명에 따르면 *(arr[0]) == *arr *(&arr[0]) == **arr *arr == **arr 이러한 결과가 성립하는데 이해가 잘 가지 않습니다. 배열에서 &arr[0]라고 해서 arr[0]의 주소가 따로 어딘가에 저장되지는 않고 컴파일러가 index를 보고 계산만 해줄 뿐이기 때문에 arr[0]과 같게 된다는 설명만 들었을 때는 어느정도 납득이 갔지만 결과적으로 **arr과 같다는 것을 보고 혼란에 빠졌습니다.  가령 int* parr[2] = { arr[0], arr[1] };의 포인터 배열이 있을 때  parr == &arr[0]이므로 **parr == arr[0][0]이 성립함은 납득이 됩니다. 허나 포인터 배열이 아닌 배열에서는 어떻게 *arr와 **arr를 같이 사용할 수 있는지 이해가 잘 가지 않습니다.

1
bicycle 프로필

포인터질문 bicycle 11일 전
const int* p1 = &a;  int* const p2 = &a; const int* const p3 = &b; 이 세가지의 차이점이 무엇인가요....?

4
solitary 프로필

강의 초반 질문 solitary 15일 전
arr == arr[0] == &arr[0] ==&a[0][0] != a[0][0]부분 설명하실때요 진짜 몰라서 질문드리는데 arr배열에 대한 설명 중에 &a[0][0]나  a[0][0]의 a는 갑자기 어디서 나온거죠?

1
red481 프로필

버퍼 관련 질문이 있습니다 red481 16일 전
안녕하세요. 버퍼와 입력 받는 것에 대해서 많이 고민했었는데 이해가 갈듯하면서도 이해가 안 가는 부분이 있습니다. 교수님께서 코딩해놓으신 것중 15열을 보면 scanf("%s %d %lf", str, &i, &d); 에서 입력을 받을때 엔터를 치면 '\n'이 버퍼에 남아서 그 다음 20열 scanf함수에서 문자를 입력 받을때 버퍼에 남아있던 \n이 영향을 미쳐서 제대로 입력 못 받을꺼라고 생각했는데요..교수님께서 입력하신 값들이 변수에 들어갔네요.  제 생각이 틀린거 같은데 왜 틀렸는지 말씀해 주시면 감사하겠습니다. 

1
Song Kyoung Yong 프로필

build solution 단축키 Song Kyoung Yong 17일 전
빌드솔루션 단축키가 영상에선 f7인데 저는 strl+shift+B 네요. 보통 프로그램들이 단축키는 잘 안바꾸는편인데 VS는 바꼈나봐요?  불편..불쾌.. 아래질문하신분처럼 빌드에러도 뜨고요. ;;;

2
에엑따 프로필

6.13 강 1분 23초 에엑따 19일 전
/* scanf가 쓰일때 마다 생기는 문제가 있습니다 scanf 값을 입력 받고 enter를 치고 다시한번 입력한뒤 enter를 다시 한번 처야 맨처음 입력한 값이입력됩니다 예를 들어 아래 코드에서 4354(설정해둔 비밀번호)를 입력하고 enter 를 치면 아무일도 일어나지 않고 다른숫자(342) 를 치고 enter를 다시한번 치면 그제서야프로그램이 종료가 됩니다 제가 계속 실수 하는 부분이 있는걸까요? */ #include <stdio.h> int main(void) { int pass_waord = 4354; int input = 0; printf("Enter secret code : "); scanf(" %d\n", &input); while (input != pass_waord) { printf("Enter secret code : "); scanf(" %d\n", &input); } printf("Good"); return 0; }

1
JA KIM 프로필

강의 중 오버플로우(overflow)란 warning 이 보이질 않습니다. JA KIM 19일 전
결과 값은 수업 진행대로 잘 나오나 output에서 overflow 워닝이 나오질 않습니다. 답변 부탁드리겠습니다. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <limits.h> //#include <stdlib.h> int main() { unsigned int u_max = UINT_MAX + 1; printf("%u", u_max); //// i to binary representation //char buffer[33]; //_itoa(u_max, buffer, 2); //// print decimal and binary //printf("dicimal:%u\n", u_max); //printf("binary:%s\n", buffer); return 0; } 1>------ Build started: Project: Lecture1, Configuration: Debug Win32 ------ 1>Lecture1.c 1>C:\C\Lecture\Lecture\Lecture1\Lecture1.c(1,1): warning C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition 1>C:\C\Lecture\Lecture\Lecture1\Lecture1.c : message : see previous definition of '_CRT_SECURE_NO_WARNINGS' 1>Lecture1.vcxproj -> C:\C\Lecture\Lecture\Debug\Lecture1.exe 1>Done building project "Lecture1.vcxproj". ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

2
ewak01 프로필

3.13 불리언형 ewak01 19일 전
1. 콘솔창에서 출력값 2번째 있는 1의 값이 b1 =  1을 받아서 출력이 된거 같은데 b1 = 0을 받은 다음 b1 = 1로 다시 받아서 출력값이 1이 나온거죠? 2. bool에서 기억해야하는것은 0은 false고 true는 1이다 라고 말씀을 하셨는데 그 의도가 궁금합니다.  11줄: b1 = 0   12줄: b1 = 1 대신  각 각 b1 = false , b1 = true 라고 써도 된다라는 목적으로 말씀하신건지 아니면 다른 의도가 있어서 말씀하신건지요? 3. bool을 쓰는 목적(용도)가 궁금합니다. 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 

1
alphacjh 프로필

strlen 함수 alphacjh 21일 전
string 헤더 파일을 포함하지 않고 빌딩을 해도 strlen 함수가 컴파일이 되는데 왜 가능한건가요?? 헤더 파일의 포함에 따른 차이는 포함 했을 때 반환값이 size_t로 나오고 포함하지 않으면 int 값으로 나옵니다. 이 이유도 궁금합니다.

1
오종화 프로필

정적 변수의 내부 연결 오종화 22일 전
 정적 변수의 내부 연결은 referencing delclaration이  없는 건가요?

3
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스