inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

lookup테이블과 역호출 결합부분 질문

해결됨

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

int (*functionArray[3])(int) = {DoMove, DoJump, DoAttack}; 이런 형식으로 했는대 인자인 int 가 강의에선 딱히 의미가 없어보이는대 의미가 있는 사용법이 있을까요??

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
김상한 댓글 2 좋아요 0 조회수 252

원형 대기 제거 = 점유와 대기 제거인지 궁금합니다 (마지막 프로세스에 한해)

해결됨

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

안녕하세요. 강의에서 보여주셨던 "원형 대기를 없앤 경우"가 (마지막 프로세스에 한해) 점유와 대기를 없애는 것과 동일한 것인지 궁금합니다. 원형 대기를 없애기 전에는 모든 철학자 (프로세스)가 왼쪽 포크 (자원)를 들고 있을 시 "프로세스가 자원을 들고 있으면서 다른 자원을 대기하는 경우"가 전부 발생하기 때문에 교착 상태가 발생하고, 원형 대기를 없앤 경우 (책에서 작성하신 오름차순 등)에는 모든 철학자 (프로세스)가 왼쪽 포크를 들고 있더라도 마지막 철학자가 대기를 하지 않게 되므로 자신이 왼쪽 포크를 놓으면 문제 없이 다른 철학자가 식사를 할 수 있는 것과 같은 흐름일까요?

  • 컴퓨터-구조
  • 운영체제
  • 원형대기
  • 점유와대기
devholic 댓글 2 좋아요 0 조회수 411

c언어 자료형에 대해

해결됨

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

자료형에 대한 이해 5:38에서 C언어 자료형에 대해 설명하는 도중 함수형에 대해 의문이 들어 글을 작성합니다. 이전에 설명해 주실때 자료형은 일정길이의 메모리에 저장된 정보를 해석 하는 것으로 설명해주셨습니다. 함수형은 메모리에 일정길이를 해석하는 개념이 있는지 또는 다른 해석법이 있는지 궁금합니다.

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
김현석 댓글 1 좋아요 1 조회수 315

인터럽트 처리와 문맥교환의 차이

해결됨

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

하드웨어 인터럽트 발생시 인터럽트를 처리하기 위해 레지스터에 저장된 데이터는 스택에 저장되는 것으로 알고 있습니다. 프로세스 문맥교환시 레지스터 값은 PCB에 백업되는 것으로 알고 있습니다. PCB 는 커널영역에서 생성되고 관리되는 것으로 알고 있습니다. 저는 하드웨어 인터럽트 발생시 레지스터값을 임시보관하는 위치인 스택이 사용자 영역의 스택으로 생각했었습니다. 그런데 커널 스택이라는 내용을 보아서요. 커널 스택이 맞나요?

  • 컴퓨터-구조
  • 운영체제
  • 기술면접
Pong Pong 댓글 2 좋아요 0 조회수 468

동기화 기법과 그냥 반복문 돌리는 것의 차이

해결됨

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

생산자 소비자 문제는 상품의 개수라는 전역 변수이자 공유 자원이 핵심이고, 이를 위해서 상호배제를 위한 동기화가 필요합니다. 하지만 2회독을 하면서, 예를들어 생산 1000번, 소비 1000번 한다고 했을 때 그냥 생산 반복문 1000번, 소비 반복문 1000번 돌리면 상품의 개수가 0이 되어서 문제가 없지 않나..? 그렇다면 동기화 기법이 왜 필요하지..? 라는 의문점이 들었습니다. 한번 더 생각해보면 실제로 현실에서는 생산 1000번, 소비 1000번이 순서대로 일어나지 않으니까 동기화 기법이 필요한건가..?라는 나름의 해답도 떠올랐는데, 둘의 차이를 어떻게 봐야 할까요?

  • 컴퓨터-구조
  • 운영체제
  • 기술면접
  • 동기화기법
OverTheWall 댓글 1 좋아요 0 조회수 272

메모리와 프로세스와 CPU

해결됨

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

초창기 강의에서 메모리와 CPU에대해서 설명해주셧을때 메모리(RAM)는 프로세스(현재 실행중인 프로그램)에 데이터와 명령어를 저장한다고 하였다고 들었습니다. 프로그램이 실행하려면 메모리에 저장이 되어야한다고 이해가 안가는게 프로그램을 실행한다는건 CPU가 메모리에있는 데이터를 가지고와서 그 프로그램에 데이터와 명령어를 해석한후 동작을 시켜야 프로그램이 실행되는거 아닌가요? 그이후에 프로그램이 실행되면 거기에대한 명령어와 데이터가 저장되는거 아닌가요? 애초에 CPU가 명령어를 해석하고 동작시키기전에 메모리에 프로세스의 데이터들이 저장이 될 수가 있나요? 이 프로세스 즉, 현재 실행중인 프로그램 이라는 단어때문에 굉장히 애매모호 해지네요

  • 컴퓨터-구조
  • 운영체제
  • 기술면접
dltjd503 댓글 1 좋아요 0 조회수 242

Switch-case 문 예제

해결됨

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

안녕하세요 강사님 섹션 11 기본 제어문 switch-case문 예제 scanf_s에서 중간에 1을 쓰셨던데 이유를 알 수 있을까요? 실제로 실행을 해보니 1을 넣으면 결과가 잘 나오는데 1을 넣지 않으면 실행창은 뜨는데 아래 실행 창 처럼 멈춰 있습니다. 각각의 이유를 알 수 있을까요? 오류코드도 뜨는데 무슨 말인지 잘 모르겠는데 알려주실 수 있나요? 오류 코드 감사합니다.

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

나이, 이름 입력 예시에서 scanf_s() 함수 사용 이후 gets_s() 함수 사용 시 오류

해결됨

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

gets_s() 함수가 키보드 추상화 파일의 버퍼에서 null이 나올 때까지 문자열을 가져오는 함수잖아요. scanf_s() 함수를 통해 5\n 이 저장되었다고 했을 때, %*c를 통해 \n을 제거하지 않으면 gets_s() 함수는 \n이 들어있어서 입력을 중지하는 거라고 이해했습니다. 여기서 질문입니다. null이랑 \n 이랑 다르다고 알고 있는데 왜 null 이 나온 것처럼 gets_s() 함수가 수행되지 않는지 궁급합니다!! 감사합니다. (꾸벅)

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
ssa3327 댓글 3 좋아요 0 조회수 431

문자열처리 함수소개강의에서 질문 있습니다.

해결됨

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

강의 감사히 듣고 있습니다. 질문 두 가지 있습니다. 1. strcat_s 함수를 설명하실 때 strcat_s(szPath + 17 + 4, sizeof(szPath) - 25, "C programming"); 이라고 해주셨는데 22번째 인덱스부터 시작하여 널문자를 찾고 이어붙이는 구문이라면 전체 배열의 크기도 sizeof(szPath)-21로 조정을 해야 하는 것 아닌가요? 2. strcat_s(szPath + 17 + 8, sizeof(szPath) - 25, "C programming"); 에서 오류가 나는 것은 문자열 배열 넘어의 메모리를 시작값으로 설정했다는 것인데 확인할 수 있는 null 이 없기 때문인 건가요? 감사합니다.

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
blood731 댓글 2 좋아요 0 조회수 309

프로세스 동기화 예시 질문

해결됨

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

안녕하세요 강의를 복습하고 있는 학생입니다. 책과 강의에서 프로세스 동기화를 예시로 들어주셨을 때 워드 프로세서 프로그램의 맞춤법 검사 프로세스, 입력 내용을 화면에 출력하는 프로세스 등이 있다고 하셨는데 혹시 이것들은 프로세스가 아니라 스레드가 맞지 않는지 질문드리고 싶습니다. "프로세스"는 "컴퓨터에서 연속적으로 실행되고 있는 프로그램"이고, "스레드"란 "프로세스 내에서 실행되는 여러 흐름의 단위"이니 예시로 들으신 워드 프로세서 안에서의 각종 것들은 스레드에 더 적합해보이는데 프로세스로 작성하신 이유가 있으실까요? 만약 프로세스라면, 그것이 "부모 프로세스"와 "자식 프로세스" 간의 관계로 작성하신 것인지도 궁금합니다. (자식 프로세스와 스레드의 차이의 예가 더 있으면 좋겠습니다.)

  • 컴퓨터-구조
  • 운영체제
  • 기술면접
  • 프로세스동기화
devholic 댓글 3 좋아요 0 조회수 464

입출력 채널

해결됨

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

1. 입출력 채널이 일부 최신 입출력 장치 내부에 있다고 적혀 있는데요 바로 아래에는 입출력 채널이 있는 컴퓨터라고 적혀 있어서요 이게 입출력 장치에도 있을 수도 있고 컴퓨터에도 있을 수 있는 건가요? 2. 423p 맨 윗줄 '키보드' > '하드디스크' 수정 필요합니다~ 유튜브 댓글에서 2쇄부터 수정 들어 가신다고 하셨는데 제 책 4쇄인데 반영 안 되어서요~! 혹시 다른 오타 수정해야 할 부분 리스트를 볼 수 있는 공간이 있을까요? 네트워크 책 언제쯤 나오나요,,, 강의 너무 좋아요 감사합니다!

  • 컴퓨터-구조
  • 운영체제
  • 기술면접
leejieun418 댓글 2 좋아요 0 조회수 354

stdio.h 내 puts 함수 구현을 직접 볼 수 있나요?

해결됨

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

안녕하세요 널널한개발자님 강의 재밌게 보고 있는 1인 입니다ㅎㅎ 강사님께서 구현코드는 디버깅 과정에서 보여지지 않는다고 하셨는데, 볼 수 있는 방법이 있을까요? 모든 프로그래밍 언어의 기본이 되는 언어라고 배웠는데 실제구현을 볼 수 없다는 게 제 수준에서는 의아합니다. 찾아보니 소스파일 외의 구현코드를 찾기가 어렵고 챗지피티도 명쾌한 대답을 주지 못해서 질문 남깁니다. 여러번 질문했는데 항상 잘 답변해주셔서 감사드립니다~

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
에이치더블유 댓글 2 좋아요 0 조회수 349

getchar와 scanf의 차이

해결됨

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

char ch = 0; scanf_s("%c", &ch, 1); printf("%d", ch); char ch = 0; ch = getchar(); printf("%d", ch); 여기서 scanf_s와 getchar의 차이가 뭔가요?

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
차희원 댓글 1 좋아요 0 조회수 445

memcpy 사용 후 free 함수 사용여부

해결됨

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

memcpy 의 내부동작을 설명하실때 동적메모리할당 구문이 있었는대 이 부분은 free 로 안닫아줘도 괜찮은건가요??

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
김상한 댓글 2 좋아요 0 조회수 336

qsort 함수에 관한 질문입니다.

해결됨

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

stdlib에서 제공하는 qsort 함수 qsort(void base, size_t width, int(*compare)(const void* key, const void* element)) 에서 compare부분이 비교함수를 가리키는 함수 포인터라고 알고있습니다. 그렇다면, qsort(aList, 5, sizeof(int), *myCompare); 같이 넣지 않고 qsort(aList, 5, sizeof(int), myCompare); 처럼 넣는 이유가 뭔가요?

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
davidkjcy 댓글 2 좋아요 0 조회수 220

함수 포인터 강의에서 질문이 있습니다.

해결됨

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

int(*pfGetMax)(int,int,int) = GetMax; 를 통해 함수 포인터 선언 정의를 동시에 하고 printf("MAX: %d\n", pfGetMax(1,3,2)); 를 하셨는데 함수 포인터를 사용하여 GetMax 함수를 호출하는 과정에서 pfGetMax(1,3,2)를 사용하셨는데 이 표현이 이해가 가지 않았습니다. 포인터의 간접지정을 통해서 값을 가져와야 한다고 생각했는데 (*pfGetMax)(1,3,2) 처럼 해야하는 것이 아닌가요?

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
davidkjcy 댓글 2 좋아요 0 조회수 216

[필수 실습 문제] '*' 출력 놀이 응용

해결됨

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

if문을 쓰는 것과 아래 코드처럼 for문만 쓰는 것 중에 어느 코드가 더 효율적인가요? for (int i = 1; i <= 5; i++) { for (int j = 0; j < 5 - i; j++) { printf(" "); } for (int j = 0; j < i; j++) { printf("* "); } puts(""); }

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
정지욱 댓글 2 좋아요 0 조회수 313

[필수 실습 문제] 버스 요금 계산

해결됨

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

안녕하세요 강사님 [필수 실습 문제] 버스 요금 계산 관련 질문 있습니다. 저는 나이가 20살 미만이면 기본 버스 요금 1000원의 75% 적용한다는 구문을 printf 함수 안에 input*0.75 이렇게 적었는데요 이렇게 적으면 최종 요금이 0이 나오더라구요 이렇게 되는 이유가 최종 요금을 나타내는 형식문자가 %d인데 *0.75 를 곱해서 일어난 것 같은데 전체적으로 보면 input 0.75 = 1000 * 0.75 =750 의 정수형식이라서 상관없을 거 같은데 형식 문자가 %d 정수형이면 그 값을 나타내는 변수에도 정수만 들어가야하나요?

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

자료구조 기본 개념 정리 - 순환큐 강의 내용 질문

미해결

자료구조 기본 개념 정리

자료구조 기본 개념 정리 - 순환큐 이 강의에서 7:20 경에 self.head를 4라고 강사님이 말씀하시는데 영상처럼 초록색 화살표가 찍힌 0을 가리켜야 맞는거 아닌가요? 제가 이해를 잘못하고 있는지 강사님이 잘못 말씀하신건지 의문입니다. 코드는 enqueue 메서드 안에 if((self.tail+1) % self.k == self.head): 이부분 설명하는 데입니다.

  • 컴퓨터-구조
  • 알고리즘
다한 댓글 1 좋아요 1 조회수 388

인기 태그

인프런 TOP Writers

주간 인기글