C언어 기출문제의 변형 - 배열과 포인터 증가 문제 시간 : 21분대 처음 1번에서 ++*ptr은 arr 배열의 첫번째 값을 가져온 다음, ++ 전위연산자를 통해 값이 1만큼 증가된다는 것은 이해했습니다. 그리고 3번에서 *ptr++은 마찬가지로 arr 배열의 첫번째 값을 먼저 가져온 다음 (1번에 의해 바뀐 21) 후위 연산자 ++에 의해 다음 줄에 값이 1만큼 바뀌어야 하는거 아닌가요? 즉, 제가 이해하기온 *ptr++로 값 21을 반환하고 다음 줄에 만약 printf("%d", ptr)을 한다면 출력이 22가 되는 걸로 이해했는데 이 경우에는 배열의 다음 주소로 넘어가네요. ++전위 연산자는 값이 1만큼 증가되고 후위 연산자는 왜 배열의 다음 주소로 넘어가는 지가 궁금합니다!
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
각각의 if문이 2의 배수 이거나 3의 배수면 참이다와 6의 배수가 아니면 참이다 라는건 이해가 됩니다. 그래서 처음 i가 1일때 처음 if절은 거짓이고 두번째 if절은 참이니깐 count가 +1 되는건가요? 그러고 다시 i가 2일때는 첫번째 두번째 if절이 다 참이어서 count +1이 되는건가요? 그리고 i가 6일 경우에 첫번째 if절이 참이고 두번째 if절은 거짓인데 이런 경우는 어떻게 되는건가요?
class Dog 에서 클래스 내부에 생성자가 없는데 main에서 Dog myDog = new Dog(); 라고 객체를 선언했는데, 이 문장에서 제가 강의로 이해한 바로는 초록색 도그 부분이 클래스이름으로 타입이 되고, new뒤에 있는 도그가 생성자 메서드 인줄 알았는데 잘못이해 한것일까요? 클래스내에 생성자가 없어도 인스턴스? 객체를 생성할 수 있나요? 아니면 생성자가 없기때문에 객체가 아니라 인스턴스 인것인가요?
안녕하세요 교수님 요즘 질문을 너무 자주해서 죄송합니다 ㅜㅜ #include <stdio.h> int main() { int a = 0; int count = 0; while (1) { printf("Current count is %d. Continue? (y/n)\n", count); if (getchar() == 'n') break; while (getchar() != '\n') continue; count++; } return 0; } 여기서 a를 하나만 입력한다고 가정할때, if (getchar() == 'n') break; 는 조건에 안맞아서 무시하고 while (getchar() != '\n') continue; 여기선 while문안에 continue를 만나서 a는'\n'이 아니니까 while문안에 계속 탈출을 못해서 무한루프에 빠져야 하지않나요? 교수님께선 저 while문으로 인해 버퍼가 초기화 된다고 하신걸로 보아 이전강의에 해당 내용이 있는거 같은데 혹시 어느 강의에 있는지 알수있을까요 ㅜㅜ
Q1. 클래스 A에서 a라는 정적변수가 있고, 클래스 B에서 a라는 정적변수가 있다면 각각의 a는 다른 것으로 보는 게 맞나요? 클래스 A의 인스턴스 a1과 a2가 있고, 클래스 B의 인스턴스 b1이 있을 때 a1.a와 b1.a는 다른 것이고, a1.a와 a2.a는 같은 정적변수를 참조한다는 것으로 이해하면 될까요? Q2. 보여주신 예제들은 모두 정적변수 또는 정적메서드가 존재하는 클래스 내에 main 함수가 있는데 이것도 혹시 이유가 있을까요?
안녕하세요 교수님 질문이 있습니다 text.exe는 단순히 printf("Programming"); 이거 하나인데 왜 |(파이프)로 Lecture3.exe는 scanf가 실행도 되지않고 결과가 I love Programming이 나오게 되는건가요? scanf가 printf를 받아서 출력한건가요? 그리고 |(파이프)의 역활은 두 exe파일을 단순히 실행 시키는것이 아닌건가요?
안녕하세요. 1. 저번에 다른분이 올린 질문 내용을 보니까 강의에 있는 내용도 추가해서 이론 요약 pdf 업데이트 해주신다고 했는데 이번 주말에 올라오나요? 2. 사실 이론은 강의를 봐도 '아하 그렇구나' 이정도인데 이정도만 이해하고 요약본에 있는 내용만 암기하면 될까요? 3. 강의를 다 듣고 나서는 2020년~2023년까지 기출문제를 반복해서 보는게 좋을까요? 아니면 강의 내용을 다시 보는게 좋을까요?
1.배열포인터는 첫번째 인덱스 값이 나온다고 하셨었는데 구조체 포인터는 초기값이 뭐가 나오나요? struct Person{ int age = 10; int price = 5; } person1 main(){ struct Person person1; struct Person *ptr = &person1; System.out.printf(“%d”, *ptr); } 2.아래처럼 구조체 명을 명시하지 않은경우엔 구조체 배열, 구조체 포인터를 어떻게 생성하나요? struct { int age = 10; int price = 5; } person1
안녕하세요 교수님 질문이 있습니다. getchar 작동방식이 문자를 받고 내부적으론 그걸 아스키코드로 변환해서 int로 저장하는게 맞을까요? 그리고, printf();에 "" 안에 있는 문자들도 실질적으로 내부에선 문자 하나하나가 아스키코드로 int로 저장해서 출력하는거라 봐야할까요?
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요. 안녕하세요 선생님. 사정이 있어서 시험 시작 15일 전에 시험 준비를 시작한 비전공자 학생입니다. 코딩 관련된 회차 강의를 다 듣고 올려주신 기출 문제를 최근 문제까지 다 풀어봤을 때 24년 2회차 전 까지는 각 회차마다 한 두문제 막히긴 해도 거의 다 맞추던가 복습을 하면 어느정도 커버가 가능할 정도로 자신감이 있었습니다. 그런데 24년 2회차 부터 생각보다 어려운 문제들이 많아서 코딩 2문제 정도는 손을 못댈 정도로 벅차다고 느끼고 있습니다.(물론 아직 시험까진 11일 정도 남았지만 킬러문제를 맞출 수 있을거란 생각이 안들어서요...) 여기서 들은 생각이 선생님께서 추천 해주신 코드문제를 다 맞추고 이론을 두문제 정도 맞추는 전략이 아닌 코드 킬러문제는 버리고 이론문제를 조금 더 맞추는 전략은 어떨지 여쭤보고 싶어 질문드립니다. 그러하면 이론 공부에 시간을 조금 더 투자해야 하는데 어떻게 하는게 좋을까요???