묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨독하게 시작하는 C 프로그래밍
비트필드 질문
오른쪽부터 차례로 1 2 3 2 로 비트필드를 나누고 1 3 7 5 일때 101 111 11 1여기서 5는 필드 초과되어서 버려서 01 111 11 1 가 됬는데 여기서 unsigned char* 로 포인터 형을 강제로 바꾸어 0111 1111 이렇게 만든상황에서 0x06 하고 엔드 연산을 할때 0111 11110000 0110를 엔드 연산하면 0000 0110인데 이걸 왜 >> 연산해서 3 으로 작은값나오게 했나요 ? 0000 0011그에 대한 언급이 없으셔서 질문 남깁니다
-
해결됨독하게 시작하는 C 프로그래밍
2차원 배열 포인터 질문
int a[2][3] = { {1, 2, 3}, {4, 5, 6} }; int sum = (a+0) + (a+1) + (a+2);여기서 내가 모르겠는 부분은 a는 배열이기 때문에 a[0]이 a의 주소로 참조 되고 주소를 100이라고 가정한다면 a는 100의 값이 저장된다. 이때 *a는 왜 1이 아니고 *a는 100번지라는 주소를 가지는 건가요?? 1차원 배열 포인터는 주소의 위치 값을 말한다고 배웠는데 배열에서는 적용이 다른 거 같아서 헷갈리는데 2차원 배열의 특징으로 외워야 하는 건가요? GPT 설명 🔎 핵심: a, *a, a[0], &a[0][0] 모두 주소는 같아도 타입이 다르다표현의미타입주소값 예시a2차원 배열의 첫 번째 행의 주소int (*)[3]100*a첫 번째 행 a[0]int[3]100a[0]첫 번째 행int[3]100&a[0][0]첫 번째 요소의 주소 (즉, 1의 주소)int*100**aa[0][0] == 1int(값) 1즉 *a == a[0] == 주소, **a == a[0][0] == 값저는 a = 100 인데 *a도 100인게 이해가 안되요
-
해결됨독하게 시작하는 C 프로그래밍
시작 프로젝트 설정
솔루션1개에 여러 개의 프로젝트가 있을 때 컴파일하고 싶은 프로젝트 우클릭후 시작 프로젝트로 설정이 안나와요.. 어떻게 해야하나요?
-
해결됨독하게 시작하는 C 프로그래밍
문자열 입/출력 맥북
Mac OS 기반 맥북으로 수강하고 있는 학생입니다.VS code가 강의하실 때의 윈도우 기반 vs code랑 사뭇 다르네요.. 처음에 VS code 설치 후 기본 설정과 단축키도 다르고 _getch()도 맥에서는 오류가 뜨고 여러모로 윈도우가 아니여서인지 제한 사항이 많네요.디버깅 예시 보여주시면서 메모리랑 같이 설명하실 때 저는 도저히 어디서 메모리와 주소를 찾아야 할지 모르겠더라구요..혹시 Mac OS 기반도 어떻게 설정하시는지 알 수 있을까요?
-
해결됨독하게 시작하는 C 프로그래밍
getchar()함수의 반환형에 대해 질문드립니다.
안녕하세요. 공부할 때 chat gpt를 자주 활용하고 있습니다. chat gpt에 따르면 getchar()함수를 반환하려면 char a; a = getchar();가 아니라int a;a = getchar();int형으로 반환을 받아야한다고 하더라구요.EOF를 구분하기 위해서라는데...그런데 예제들을 보면 char형으로 받는 예제들도 많아서 질문드립니다.감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
개발 환경 문의드립니다
안녕하세요. CS를 전공하고 있는 대학생입니다. 다음학기 들어야 할 코스와 선생님 강의의 커리큘럼이 겹치는 부분이 있어서,이 강의를 꼭 들으면서 예습을 하고 싶어서 수강 결제를 진행했으나 후에 강의가 윈도우 개발환경에 맞춰져있다는 설명을 보았습니다.맥북 유저이지만 대체할만한 강의를 찾지 못해서 되도록 이 강의를 수강하고 싶은데어느 정도 불편함을 감수하고서라도 이 강의를 수강하는 것에 대해 조언해 주실 수 있을까요? 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
참조에 대해 헷갈리는 부분 질문합니다.
강의 내용에서 엑셀 비유하신 부분이 정리하자면, C5에 15가 저장되있고, D7에는 C5의 위치가 저장 되어있다. D7은 참조이다. C5는 참조의 대상이다. 인데, D7은 C5를 참조했다. 라고 표현해도 되는 건가요?참조는 D7이라고 했었는데,참조가 명사가 되었다가 동사가 되었다가 하니 헷갈리네요.
-
해결됨독하게 시작하는 C 프로그래밍
C프로그래밍 책 개정판 출판 계획
강사님 혹시 독하게 시작하는 C프로그래밍 책이 개정된다는 이야기가 있던데 개정판 혹시 언제쯤 나오나요? 나오면 구매하려고 합니다.
-
해결됨독하게 시작하는 C 프로그래밍
표준/입출력 필수실습문제 질문
안녕하세요. 이름 변수 선언을 할 때 int형으로 선언을 하면 실행은 되는데 하단에 경고문이 뜹니다. 경고 내용이 무엇인지 잘 이해할 수 없어 질문을 남깁니다. 꼭 char형으로 선언해야 하는 이유가 있을까요? int와 char는 서로 크기만 다른 정수형인걸로 알고 있는데 제가 잘못 이해한 부분이 있을까요? 감사합니다!
-
해결됨독하게 시작하는 C 프로그래밍
독하게 시작하는 c프로그래밍 구입했는데..
이번에 c언어 공부를 시작하기 위해 독하게 시작하는 c프로그래밍 강의 구입했습니다. 근데 책이 절판이네요ㅜㅜ 책 볼수 있는 방법 있을까요??
-
해결됨독하게 시작하는 C 프로그래밍
.
.
-
해결됨독하게 시작하는 C 프로그래밍
fgets()로 입력을 받을 때, 개행문자 \n을 없에고 받을 수 있을까요?
#include <stdio.h> int main() { char name[32]; int age = 0; scanf("%d%*c", &age); fgets(name, sizeof(name), stdin); printf("%d살 %s 입니다", age, name); return 0; } age로 15를 입력하고,name으로 david를 입력했을 때,결과가"""15살 david 입니다"""로, 줄바뀜이 된 채로 출력되는 것을 알 수 있습니다.fgets로 입력을 받을 시, 입력 마지막에 엔터 키를 누른 것 때문에 \n 개행문자가 입력되었기 때문으로 보여지는데,fgets()로 사용자의 입력을 받을 시, 개행 문자를 제하는 방법이 있을까요?찾아보니 size_t len = strlen(name); name[len-1] = '\0';처럼, 문자열 마지막을 \n에서 임의로 null byte로 교체하는 방법을 사용하던데,scanf처럼 fgets()함수 내에서 자체적으로 해결 가능한 방법이 있을 지 알고 싶습니다.
-
해결됨독하게 시작하는 C 프로그래밍
필수 실습 문제 버블 정렬 질문
강사님 안녕하세요강의 듣고 있는 수강생입니다. 제목에 말씀드린 강의의 내용 중, '최소값을 찾아 첫번째 인덱스에 넣고 그 다음부터 해당 인덱스를 증가시켜서 다음 인덱스에 넣으면 된다.'라는 설명을 듣고 사진과 같이 코드를 구현했습니다.그 후, 강사님의 코드와 비교를 해보았는데, 처음 for문의 시작부터 달라 gpt에 제 코드와 버블정렬에 대해 비교해달라고 했는데 제 코드는 버블정렬이 아니라는 답변을 받았습니다.결과는 1,2,3,4,5의 오름차순으로 나오는데, 제 코드 중 어디가 잘못되었는지 알 수 있을까요 ?감사합니다.
-
미해결Arm 아키텍처: 트러스트존(TrustZone) [저자직강 3부-1]
TEE OS뭔가요?
안녕하세요. 트러스티드 커널이 TEE OS를 의미하는 건가요?
-
해결됨독하게 시작하는 C 프로그래밍
scanf_s 함수 질문있습니다!
scanf_s("%4c", szBuffer, _countof(szBuffer));이부분 예제에서는 왜 &szBuffer 이렇게 참조형식으로 넘겨주지 않은건가요 ??
-
해결됨독하게 시작하는 C 프로그래밍
Hello World 이후 예제구문 관련
VS studio에서 Hello World 처음 작성하고, 문자 입/출력 강의에 예제 작성하려고 하는데 어느 경로를 통해서 프로젝트 추가해서 작성가능한지에 대해 알려주셨으면 합니다.찾다가 파일 > 추가 > 새 프로젝트 추가 경로를 통해서 추가는 했습니다만요.. 추가로 새로운 프로젝트는 삭제하고 싶은데 삭제가 안되고, 다른 프로젝트에 코드 작성하려니까 안되네요.. 해결방법이 뭘까요? 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
가독성이 떨어지는 코드 or 바보같은코드 고민
1 2 3 4 510 9 8 7 611 12 13 14 1520 19 18 17 1621 22 23 24 25 구현 문제에서 #include <stdio.h>int main(){ int array[5][5] = { 0 }; int cnt = 0; for (int i = 0; i < 5; ++i) { if (i != 0 && i % 2 != 0) cnt = cnt + 6; else if (i!= 0 && i % 2 != 1) cnt = cnt + 4; for (int j = 0; j < 5; ++j) { if (i % 2 == 0) { array[i][j] = ++cnt; printf("%d ", array[i][j]); } else { array[i][j] = --cnt; printf("%d ", array[i][j]); } } putchar('\n'); } return 0;} 이렇게 코드를 짜봤는데 가독성도 떨어지고 제 생각에 좋은 코드가 아니라는 생각이 듭니다 하지만 이런 방법아니면 생각이 잘 안날때 어떤식으로 사고해야될까요? 효율적인 코드가 나올때까지 고민을 멈추면안된다거나일단 구현은 되었으니 넘어가고 좋은 해결법을 본다거나
-
해결됨독하게 시작하는 C 프로그래밍
산술연산자 강의 3분39초경 단축키가 무엇인가요?
addSample.c 소스파일과 tmpResult.c 소스파일을 비교해주실때 창을 넘어가시는데요. 단축키 써서 이동하시는거 같은데 어떻게 하신걸까요? 뭔가 멋져보입니다.
-
해결됨독하게 시작하는 C 프로그래밍
scaf_s 함수 사용시 경고 표시
강사님 컴퓨터에서는 scanf_s("%4c", szBuffer, _countof(szBuffer));여기에 밑줄이 안생깁니다.하지만 제 컴퓨터 비쥬얼스튜디오 에서는 밑줄이 생기면서 경고가 뜨네요 (shift F5 눌러서 실행 하면 실행은 잘 됩니다.) 경고는 C6328입니다. 크기 불일치: 'unsigned __int64'이(가) Param(3)으로 전달되었습니다. 다음 호출에는 'unsigned int'이(가) 필요합니다. 'scanf_s'. 그래서 경고를 구글링 해보니까 countof 명령어? 의 데이터 크기가 안맞는거 같은데강사님의 설명 듣고싶습니다.
-
해결됨독하게 시작하는 C 프로그래밍
fgets() 함수 사용관련
리눅스에서는 fgets() 함수를 쓴다고 하는데, 제 컴퓨터랑 강사님 컴퓨터는 Windows 환경인데 어떻게 fget()함수가 동작하나요?