묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨독하게 시작하는 C 프로그래밍
예제를 풀었는데 이런 방법도 가능한지 피드백 부탁드립니다.
#include <stdio.h>int main() { int nArray[5][5] = { 0 }; int cnt = 0; int tnt = cnt + 5; for (int i = 0; i < 5 ; ++i) { if (i%2 == 0) // 짝수 홀수구분 for (int j = 0; j < 5; ++j) { nArray[i][j] = ++cnt; } else for (int k = 4; k >= 0; --k) { nArray[i][k] = ++cnt; } } for (int i = 0; i < 5;++i) { for (int j = 0; j < 5; ++j) { printf("%d ", nArray[i][j]); } putchar('\n'); } printf("%d", cnt); return 0;} i값을 짝/홀 수로 분류하는 것 까지는 동일한데 열 부분을 보수 생각을 못하고 for문을 하나 더 돌려서4에서부터 1씩 감소하는 방향으로 풀었는데 논리적으로 오류가 없을까요?
-
해결됨독하게 시작하는 C 프로그래밍
int[5][5] 배열 실습 과제 관련 질문
안녕하세요.강사님 강의 잘 듣고 있습니다. 좋은 강의에 먼저 감사 드립니다. 본 강의에서 int[5][5] 배열에 1 ~ 25 값을 입력하는 프로그램을 작성하는 중에 강사님께서는 for 문을 두 번 사용하여 작성하였고, 저는 for문을 1회 사용해서 과제를 수행했습니다. 전체 loop 횟수는 25회로 동일한 것으로 보이나 혹시 두 코드 간 속도 차이가 존재하는지 궁금합니다. 요즘 컴퓨팅 성능이 워낙 좋아 큰 문제는 되지 않겠지만 궁금증이 생겨서 질문 남깁니다. 아래는 제가 작성한 코드 입니다. #include <stdio.h>#include <stdlib.h>int main(void){ int aList[5][5] = { 0 }; for (int i = 0; i < countof(aList) * countof(aList[0]); i++) { if (i != 0 && i % 5 == 0) { printf("\n"); } printf("%2d ", aList[i / 5][i % 5]); aList[i / 5][i % 5] = i + 1; } printf("\n"); for (int i = 0; i < countof(aList) * countof(aList[0]); i++) { if (i % 5 == 0) { printf("\n"); } printf("%2d ", aList[i / 5][i % 5]); } return 0;} 감사합니다.좋은 하루 보내세요 :)
-
해결됨독하게 시작하는 C 프로그래밍
프로그래밍에서 과정과 결과 중에 어떤게 더 중요한가요
문제를 풀고 정답을 맞춰서 기분이 좋던 와중, 선생님의 답안과 비교해 보다가 문득 조금 다른 풀이과정이 있어서 질문드립니다. 먼저 제 코드는 아래와 같습니다. int main(void){ int n[5] = { 2,5,3,1,4 }; int nmin = 0; for (int i = 0; i < 5; ++i) { for (int j = i ; j < 5;++j) if (n[i] > n[j]) { nmin = n[j]; n[j] = n[i]; n[i] = nmin; printf("%d %d %d %d %d\n", n[0], n[1], n[2], n[3], n[4]); } } for (int u = 0; u < 5; ++u) printf("%d", n[u]);} 빨간색으로 표시 해 둔 부분이 강사님과 조금 다른 부분이 있습니다. 모범답안(?) 에는 변수 j = i +1 으로 설정해라 가 정답이었고 저는 j = i 로 설정했었습니다. 만약 이러한 경우에 과정이 조금 다르다고 해서 틀린 부분을 끝가지 더 이해하고 복기하는 방법론이 나을까요 아니면결과에 조금 더 집중하고 전체적인 진도를 우선시 하여 가져가는 게 나을까요? 추가로 저의 상황은 저는 방통대 컴과 학과에 편입 준비중에 있고 프로그래밍의 이해를 위해 C언어를 먼저 수강중인 학생입니다. 추후 java와 같은 객체지향 언어를 공부 할 계획에 있습니다.
-
해결됨독하게 시작하는 C 프로그래밍
for문 문제 하나로 5시간 썼습니다
공백 * 출력 놀이 응용인데요오늘 오전10시반부터 지금 오후 4시30분인데 밥먹는 시간 빼고 최소 5시간 이상 썼는데도 답이 안나오네요. 그냥 답을 보고 외우는게 좋을까요? 성격상 수학문제 풀때도 답지 절대 안보고 끝까지 싸매는 스타일인데 너무 비효율적일까요..
-
해결됨독하게 시작하는 C 프로그래밍
클래스 뷰 설정하는 법
초입부에서 클래스 뷰를 이용하여서 실행 설정해서 보라고 하셨는데 제가 직접 프로젝트 추가하면서 확인하고 싶어서 새파일을 추가하는데 클래스 뷰에는 선생님처럼 나오지 않아서 매번이렇게 빌드 제외하고 컴파일실행하고 있습니다. 어떻게 클래스 뷰를 이용하여 간편하게 빌드할 수 있는지 알려주세요.
-
해결됨독하게 시작하는 C 프로그래밍
강의를 듣는데 하나도 못 하겠어요..
이 강의 수강 전에 유튜브에서 C언어 코딩에 대해서만 배웠습니다.이론위주로 하다가 실습예제 하려니까 하나도 작성을 못 하겠어요..처음에 Hello World 출력하다가 갑자기 값 초기화 설정해서 scanf 작성하면서 여러 변수 작성하고 알수없는 미로에 빠진 것 같네요C언어 포기하는게 맞을까요
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
인터럽트 시 제어 위험
안녕하세요 명령어 병렬처리기법에 대한 강의를 듣던 중 인터럽트 시도 제어 위험에 속하는지가 궁금합니다.제가 이해하기로는 인터럽트 시에도 명령어를 처리하기 위해 순차적인 아닌 다른 주소번지로 점프하게 되는데 이 사항도 제어 위험에 속하는 걸까요?
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
하드웨어적 스레드
하나의 코어가 동시에 처리하는 명령어 단위 라고 되어있는데 2코어 4스레드는1코어당 2개의 명령어단위를 처리할수있으니까하드웨어적 스레드는 2개인가요? 논리프로세서 설명하실때, 프로그램이 느끼기에 몇개의 CPU가있냐는 하드웨어 스레드의 갯수를 말하는데, 이때는 4개의 스레드가 실행중인데 하드웨어적 스레드는 2개인지, 4개인지 잘 모르겠습니다.
-
해결됨독하게 시작하는 C 프로그래밍
강사님이 설명해주신 버블정렬에 대해 질문이 있습니다.
안녕하세요, 정렬법에 관해서 정리하던 중 버블정렬과 선택정렬이 헷갈려서 질문드리고자합니다. 버블정렬 실습문제(nullnull_C / 13_bubbleSort)에서 소스코드를 for (i = 0; i < 4; ++i){ for (j = i; j < 5; ++j) { if (aList[i] > aList[j]) { nTmp = aList[i]; aList[i] = aList[j]; aList[j] = nTmp; } }}로 작성해주셨는데, 자료 조사 중 버블정렬은 aList[i]와 aList[j]를 비교하는게 아닌, aList[j]와 aList[j+1]를 비교하는 정렬방법으로 나와있길래 문의드립니다.https://velog.io/@tmdwns1521/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EB%B2%84%EB%B8%94%EC%A0%95%EB%A0%ACbubble-sort-%EB%9E%80https://gmlwjd9405.github.io/2018/05/06/algorithm-bubble-sort.htmlhttps://gmlwjd9405.github.io/2018/05/06/algorithm-bubble-sort.htmlhttps://www.programiz.com/dsa/bubble-sort
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
개발자 준비중인데 괜찮을까요
퍼블리셔로 일하며 프론트개발자로 성장하고싶어서 공부중인데 아는 언어라곤 html, css, javascript인데 이 교재와 강의를 듣는게 어렵진 않을까요?!
-
해결됨독하게 시작하는 C 프로그래밍
64비트 int형 크기
안녕하세요.매번 좋은 강의 감사드립니다.int형 자료형의 경우 32비트에서 4바이트, 64비트에서는 8바이트로 알고 있는데강사님 영상에서 실습 진행시 int nData = 10; 의 코드를 디버깅하게 되면 메모리에 0a 00 00 00 으로 총 4바이트 공간을 할당하는 같은데, x64으로 설정하셨음에도 4바이트 처럼 보이는 이유가 있을까요?13:31초 부근
-
해결됨독하게 시작하는 C 프로그래밍
goto문에서 라벨과 관련해서 질문이 있습니다.
안녕하세요, C 기초를 수강하고 있는 학생입니다.다름이 아니라, 강사님께서 작성하신 goto문의 예제 중 하나인 bool과 관련해서 질문이 있는데요,라벨은 중괄호로 묶이지 않는이상 라벨 직후의 구문만 포함한다고 나괄호로 묶이지 않는이상 라벨 직후의 구문만 포함한다는 정보를 찾았는데, 강의에서 작성하신 코드에서는 CLEAN_UP에 대한 구문이 중괄호로 묶여있지 않아서 질문드립니다.int main(void){ bool isA = false; bool isB = false; int nInput; scanf_s("%d", &nInput); if (nInput > 0) isA = true; else goto CLEAN_UP; scanf_s("%d", &nInput); if (nInput > 0) isB = true; else goto CLEAN_UP; CLEAN_UP: if (isA) isA = false; if (isB) isB = false; return 0;}
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
오퍼랜드 필드로 표현할 수 있는 데이터 크기 문의
안녕하세요강의 잘 듣고 있습니다. 좋은 강의에 감사합드립니다.9강의 듣던 중 궁금한 것이 있어 문의 드립니다.오퍼랜드에 데이터를 직접 표현 하는 것보다 주소를 명시하는 것이 더 많은 데이터를 저장할 수 있다고 설명해주셨는데화면에서는 동일한게 10번지 영역이 12~8사이로 4비트인데왜 데이터 직접표현에서는 2의4이고 데이터 주소명시에서는 2의16으로 계산하는지 이해가 안됩니다데이터 주소명시에서도 여러 데이터의 주소를 명시하는 경우라면 제한 된 데이터 공간에서 결국 주소를 명시할 수 있는 공간은 작아져서 표현할 수 있는 데이터 크기가 줄어드는 것이 같은 거 아닌지도 궁금합니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
RETURN 과 RET 의 차이
우선 강의 잘 듣고 있다는 말씀 드리고 싶습니다. 다름이 아니라 강의에서 나오는 RETURN 이 RET 을 의미하는것일까요? 오래되서 가물가물하긴 하지만 mov esp, ebppop ebp 로 스택 프레임을 정리하고 ret 을 호출하여 EIP 에 복귀 주소를 로딩시키는것과 동일하다는 것으로 볼 수 있는건가요? 공부하면서 어쌤블리에 따로 RETURN 이 존재하지 않았던것으로 기억해서 질문드립니다!
-
해결됨독하게 시작하는 C 프로그래밍
memcpy 내부 구현은 어떻게 아신건가요?
선생님 안녕하세요!자바에서 native 메서드 보다가 선생님 C 강좌까지 와버렸습니다. 메모리 복사 관련한 함수 중 memmove의 내부 동작 원리를 찾다가 강의에서 memcpy를 설명하시는걸 보았습니다. 이때 memcpy 내부 구현이 반복문으로 되어있다고 설명하셨는데 이런 내부 구현은 어떻게 아신건가요?혹시 memmove도 반복문으로 구현이 되어있을까요?
-
해결됨독하게 시작하는 C 프로그래밍
강의명 오타
switcht와 i 위치가 바뀌어 있습니다.
-
해결됨독하게 시작하는 C 프로그래밍
단항 증감 연산자 예시 정답
단항 증감 연산자 수업에서 예시로 들었던... int x = 5, y = 10, data = 0; data = ++x + ++y + ++x; printf("data = %d\n", data);의 출력값이 25가 나옵니다. 아무리 생각해도 24가 정답인 것 같은데...
-
해결됨독하게 시작하는 C 프로그래밍
포인터 변수 크기 질문
안녕하세요.포인터 변수 기본 문법 강의를 듣다가 강사님 말씀하신 부분 중이해가 잘 안가는 부분이 있어 질문 드립니다.2:27초쯤에 1바이트마다 64비트가 붙는게 아니다 라고 말씀하셨는데,제가 이해한 바로는 포인터 변수의 크기는 운영체제 즉,64bit 운영체제는 64bit, 32bit 운영체제는 32bit 크기로 지정되는 것이고 이 포인터는 변수의 자료형(메모리 크기)이 얼마가 됬건간에 운영체제에 따라 고정된다라고 이해했습니다.그런데 말씀하신 1바이트마다 붙는게 아니다 라는 부분이 제가 이해한 것처럼 자료형의 크기 1바이트를 말씀하신 것인지, 아니면 변수가 여러 개 일 때, 각 변수마다 할당된 1바이트를 말씀하신 것이지 잘 이해가 안갑니다.
-
해결됨독하게 시작하는 C 프로그래밍
별찍기 (트리) 이런식으로 로직을 구현해봤는데 괜찮을까요?
저는 이런식으로 생각해서 풀었는데, 강사님 해설 보니까 머리를 한 대 맞은 것 같네요 ㅎㅎㅎ.....
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
SRAM 시뮬레이션 결과가 이상해서 질문드립니다.
안녕하세요. sram 소스 코드를 위처럼 작성해봤는데,mem에 저장이 안돼서 read도 제대로 안되고 아래처럼 시뮬레이션 파형이 나옵니다.테스트벤치는 주신 자료대로 작성했고 소스코드만 제가 작성해봤는데, 주신 소스코드랑 비교해봤을 때도 크게 다른 부분을 모르겠어서요.코드의 어느 부분이 잘못됐는지 알려주시면 감사하겠습니다!