1 00:00:00,000 --> 00:00:07,810 2 00:00:07,810 --> 00:00:09,840 >> 제이슨 허쉬 호른 : 환영합니다, 6 주에 모두. 3 00:00:09,840 --> 00:00:14,790 잘 살아 여러분 모두를보고 행복이고 퀴즈 0 후, 때문에 나는 알고 4 00:00:14,790 --> 00:00:15,810 조금 거친했다. 5 00:00:15,810 --> 00:00:18,370 그러나 다행히도, 당신의 모든 믿을 수 없을 정도로 잘했다. 6 00:00:18,370 --> 00:00:21,680 그리고 그 훌륭합니다. 7 00:00:21,680 --> 00:00:25,840 당신이 내 섹션에 있다면, 나는 대부분을 준 당신을 이미 퀴즈를 백업합니다. 8 00:00:25,840 --> 00:00:28,050 >> 당신의 부부는, 내가 만날거야 클래스 후. 9 00:00:28,050 --> 00:00:32,360 그리고 당신은 연장 학생이라면 당신은 다시 퀴즈를받지 못한 10 00:00:32,360 --> 00:00:35,490 아직, 당신의 TF 아마에 노력하고 있습니다 하고 등급을 매기, 그리고는 다시 그것을 얻을 것이다 11 00:00:35,490 --> 00:00:36,490 당신에게 곧. 12 00:00:36,490 --> 00:00:39,650 그래서 내 연장 학생 지금보고 - 희망을 갖고 살 - 13 00:00:39,650 --> 00:00:42,880 나는 당신의 퀴즈를 얻을 것이다 곧뿐만 아니라. 14 00:00:42,880 --> 00:00:45,670 >> 다음과 같이 오늘의 일정입니다. 15 00:00:45,670 --> 00:00:50,170 첫째, 우리는 몇 가지를 통해 갈거야 CS50 당신에게 제공하는 자원. 16 00:00:50,170 --> 00:00:54,590 우리는 다음 퀴즈 0에 갈 예정하고있어 나는 질문에게 아무도 답변 해 드리겠습니다 17 00:00:54,590 --> 00:00:57,360 특정 문제에 대한 있습니다. 18 00:00:57,360 --> 00:01:02,050 그리고, 우리는 이상 갈 것 파일 I / O 및 문제 설정 5. 19 00:01:02,050 --> 00:01:07,360 그 마지막 두 항목은 걸릴 것입니다 섹션의 대부분 오늘까지. 20 00:01:07,360 --> 00:01:11,680 >> 나는으로 매주 목록을 올려 모두에게 있지만, 코어의 알림 21 00:01:11,680 --> 00:01:14,650 섹션, 우리는 90 분이 - 우리 모든 것을 커버 할 수없는 그 I 22 00:01:14,650 --> 00:01:16,280 너희들 커버 싶어요. 23 00:01:16,280 --> 00:01:21,170 그러나 우리는 리소스의 톤을해야합니까 당신이 알게대로 따라 그릴 24 00:01:21,170 --> 00:01:24,000 을 통해 재료와 작업 문제는 설정합니다. 25 00:01:24,000 --> 00:01:30,810 >> 온라인에서 텍스트를 알림 당신이 경우에 작성하는 당신을 위해 설정 상자, 26 00:01:30,810 --> 00:01:33,250 나에 대한 피드백이, 긍정적 인 모두 27 00:01:33,250 --> 00:01:35,180 섹션에 대해, 건설. 28 00:01:35,180 --> 00:01:38,600 그 URL은 바로 여기에 있습니다. 29 00:01:38,600 --> 00:01:43,250 당신은 어떤이있는 경우에는, 잠시 시간을내어 주시기 바랍니다 피드백 여부 섹션 동안, 30 00:01:43,250 --> 00:01:48,030 이후, 이후 당신은 비디오를 볼 온라인, 나에게 피드백을 제공합니다. 31 00:01:48,030 --> 00:01:52,100 난 정말의 모든 주셔서 감사합니다. 32 00:01:52,100 --> 00:01:55,730 >> 그래서 작은 대화를 봤는데 내의 많은 33 00:01:55,730 --> 00:01:59,350 일주일 내내 학생 - 내가 손으로 다시 퀴즈, 이야기 34 00:01:59,350 --> 00:02:01,480 물론, 당신이하고있는 방법을보고. 35 00:02:01,480 --> 00:02:05,120 하나의 테마에 와서있다 에 대해 얘기에 -에 36 00:02:05,120 --> 00:02:05,660 특정 - 37 00:02:05,660 --> 00:02:07,710 문제는 설정합니다. 38 00:02:07,710 --> 00:02:13,090 그리고 그 테마를 캡슐화 한 지금 보드에. 39 00:02:13,090 --> 00:02:16,630 >> 기본적으로 차이가있다 뭔가 터닝 사이 40 00:02:16,630 --> 00:02:19,590 제대로 뭔가 할 이 잘 이루어집니다. 41 00:02:19,590 --> 00:02:22,920 대부분의 사람들은 환상을하고있다 정확성의 측면에서 - 42 00:02:22,920 --> 00:02:25,460 모든하여 pset에 5의 4의. 43 00:02:25,460 --> 00:02:27,930 대부분의 사람들은 점점 그 모든 시간. 44 00:02:27,930 --> 00:02:31,150 >> 그러나, 때문에 당신이 수행 한 뭔가 바로 당신이했습니다 의미하지 않는다 45 00:02:31,150 --> 00:02:34,450 우아하게 뭔가를 수행하거나, 효율적으로, 또는 깨 등 46 00:02:34,450 --> 00:02:35,270 그것을 할 수 있었다. 47 00:02:35,270 --> 00:02:36,790 그리고 어떤 디자인의 - 48 00:02:36,790 --> 00:02:39,230 그리고 낮은 정도, 스타일 - 49 00:02:39,230 --> 00:02:40,450 축에 대한 것입니다. 50 00:02:40,450 --> 00:02:45,130 그래서 나는 당신을 모두 밀어 및 기타 TF가 있어요 뿐만 아니라 회전에, 너희들을 추진하고있다 51 00:02:45,130 --> 00:02:48,320 올바르지 만 켜 관광 정보 잘 코딩 된 것들에. 52 00:02:48,320 --> 00:02:53,060 >> 루프에 대한 불필요한 일을하지, 변수의 경우를 다시 계산하지 53 00:02:53,060 --> 00:02:53,800 당신은 필요가 없습니다. 54 00:02:53,800 --> 00:02:58,520 예를 들어, 뒤로 설정 문제에 대한보고 4에 벽돌을 배치 할 때 55 00:02:58,520 --> 00:03:03,070 화면에서 모든 행 - 모든 벽돌 지정된 행은 같은 y 좌표가 - 56 00:03:03,070 --> 00:03:04,390 같은 높이 좌표입니다. 57 00:03:04,390 --> 00:03:07,930 >> y 좌표가 필요하지 그래 내부 내부 계산 58 00:03:07,930 --> 00:03:11,070 당신은 가능성이 사용 FOR 루프를 중첩 화면에 그 벽돌을 넣어. 59 00:03:11,070 --> 00:03:14,030 그것은 단지마다 계산 될 필요 시간 당신은 행을 바 꾸었거나, 60 00:03:14,030 --> 00:03:15,200 행을 아래로 이동했다. 61 00:03:15,200 --> 00:03:19,760 10 벽돌에있는 경우 그렇게 말 열, 각 벽돌은 동일한을 가질 수 62 00:03:19,760 --> 00:03:22,260 y 좌표와 y 좌표가 단지 계산 될 수있다 63 00:03:22,260 --> 00:03:23,550 그 모두를위한 한. 64 00:03:23,550 --> 00:03:27,810 >> 이는 열을 산출 할 필요가 없다 배,도 않는 계산 필요 65 00:03:27,810 --> 00:03:30,220 실제에서 일어나는 함수 호출 - 66 00:03:30,220 --> 00:03:33,020 새로운 gracked 함수 호출. 67 00:03:33,020 --> 00:03:37,820 그래서에 대한 약간의 혼란 있다면 당신, 더 일반적으로, 일이 68 00:03:37,820 --> 00:03:40,730 매번 일이 필요하지 않습니다 당신은해서는 안 FOR 루프를 통해 이동 69 00:03:40,730 --> 00:03:42,900 FOR 루프 안에 넣어하지 말아야 당신이 갈 때마다 발생 70 00:03:42,900 --> 00:03:44,080 FOR 루프를 통해. 71 00:03:44,080 --> 00:03:49,270 >> 우리가 본 또 다른 좋은 디자인의 예 15 주 3, 당신은 유지할 수 72 00:03:49,270 --> 00:03:50,500 제로 추적. 73 00:03:50,500 --> 00:03:53,600 그래서 당신은, 당신을 보드를 초기화 할 때 저장 - 전역 변수에, 아마 - 74 00:03:53,600 --> 00:03:56,140 x와 제로의 y 좌표입니다. 75 00:03:56,140 --> 00:03:57,520 그리고 그 때마다 - 76 00:03:57,520 --> 00:04:00,310 당신의 이동 기능에, 때마다 확인 성공적으로 이동, 당신은 업데이트 77 00:04:00,310 --> 00:04:02,040 제로의 위치. 78 00:04:02,040 --> 00:04:06,240 >> 즉, 할 필요에서 당신을 저장할 것 를 통해 볼 수있는 루프 중첩 FOR 79 00:04:06,240 --> 00:04:10,700 당신의 이동 기능의 모든 시간을 탑승 과 제로를 찾거나 타일을 찾아, 80 00:04:10,700 --> 00:04:12,460 다음 옆에 무엇을 확인합니다. 81 00:04:12,460 --> 00:04:16,329 대신의 위치가 제로, 당신은, 아래, 위의 볼 수있다 82 00:04:16,329 --> 00:04:21,160 및 그것의 왼쪽 및 오른쪽에 찾는 당신이 찾고 있던 타일. 83 00:04:21,160 --> 00:04:24,970 >> 그래서 우리가하고있는 프로그램의 측면에서 쓰기, 그들은 충분히 큰 적이 아니야 84 00:04:24,970 --> 00:04:28,580 이들 디자인 결정의 일부 정말 방해하려고하는 당신 85 00:04:28,580 --> 00:04:31,670 프로그램, 또는, 더 느리게 실행하게 또는 심지어 메모리가 부족. 86 00:04:31,670 --> 00:04:35,030 그러나 우리는 아직도 너희들을 추진 중입니다 쓸 우아하고 그리고 87 00:04:35,030 --> 00:04:36,450 가능한 한 효율적인 코드. 88 00:04:36,450 --> 00:04:39,910 >> 그래서 당신이 할 경우 필기구 끝 상당히 큰이 그 89 00:04:39,910 --> 00:04:44,660 범위, 그들은 좋은 함께 기록됩니다 정확할뿐만 아니라 디자인. 90 00:04:44,660 --> 00:04:46,300 그래서 당신이 다수 그를 가져왔다. 91 00:04:46,300 --> 00:04:48,560 즉, 우리가 찾고있는 무언가 - 우리가 계속거야 뭔가 92 00:04:48,560 --> 00:04:49,840 당신에 사람을 밀어 넣습니다. 93 00:04:49,840 --> 00:04:52,460 >> 당신은에 관한 질문이있는 경우 프로그램의 디자인, 자유로운 느낌 94 00:04:52,460 --> 00:04:56,870 나에게 도달, 나는 행복 해요하기 당신과 당신의 프로그램을 통해 산책, 95 00:04:56,870 --> 00:05:01,320 디자인의 몇 가지를 지적 당신이 만든, 당신에게 몇 가지를 제공 결정 96 00:05:01,320 --> 00:05:06,240 확인하는 방법에 대한 제안도 더 나은 디자인 결정. 97 00:05:06,240 --> 00:05:08,870 >> 그래서 우리는 전진 할 것입니다 퀴즈 0에 대해 이야기한다. 98 00:05:08,870 --> 00:05:11,300 우리가 그렇게하기 전에, 아무도하지 에 대한 질문이 무엇을 99 00:05:11,300 --> 00:05:14,252 지금까지 다룬? 100 00:05:14,252 --> 00:05:21,500 >> [부스럭 거리는 잡음] 101 00:05:21,500 --> 00:05:22,750 >> 제이슨 허쉬 호른 : 7 초. 102 00:05:22,750 --> 00:05:23,250 OK. 103 00:05:23,250 --> 00:05:24,970 이제 조금만 퀴즈 0에 대해 얘기하자. 104 00:05:24,970 --> 00:05:26,700 당신의 대부분은 퀴즈 0의 등이있다. 105 00:05:26,700 --> 00:05:29,820 당신이하지, 희망 할 경우 당신은 그것을 조금 기억한다. 106 00:05:29,820 --> 00:05:34,770 하지만 당신은 퀴즈 0, 당신을 촬영 한 경우 또한 온라인 PDF에 액세스 할 수 있습니다 107 00:05:34,770 --> 00:05:35,890 샘플 솔루션을 제공합니다. 108 00:05:35,890 --> 00:05:39,480 >> 전에 누군가가 질문이 있습니까 우리에 대해 주 재료로 점프 109 00:05:39,480 --> 00:05:41,520 0 퀴즈에 특정 문제 - 110 00:05:41,520 --> 00:05:44,630 왜 대답은 무엇입니까? 111 00:05:44,630 --> 00:05:47,255 사람은 무엇에 대한 혼란 있습니까? 112 00:05:47,255 --> 00:05:50,230 당신이 바로 문제를 가지고 있지만,도 단지 내가 그것을 조금 설명하고 싶습니다 113 00:05:50,230 --> 00:05:52,640 더 많은, 지금 이렇게 행복 해요. 114 00:05:52,640 --> 00:05:57,800 >> 그래서 나는 당신 남자를 요구했다 몇 가지로 준비가 와서 115 00:05:57,800 --> 00:05:59,440 퀴즈 0에 대한 생각. 116 00:05:59,440 --> 00:06:02,660 그럼 누가 우리에게 좀하고 싶습니다 질문 또는 시작 117 00:06:02,660 --> 00:06:04,655 퀴즈 0에 대한 의견? 118 00:06:04,655 --> 00:06:07,435 119 00:06:07,435 --> 00:06:10,410 >> [용지 부스럭] 120 00:06:10,410 --> 00:06:11,470 >> 제이슨 허쉬 호른 : 없음 모두 완벽했다. 121 00:06:11,470 --> 00:06:12,720 그래서 내가 알고 [웃음] 122 00:06:12,720 --> 00:06:15,950 몇 가지 질문이있을가 퀴즈 약 0. 123 00:06:15,950 --> 00:06:27,940 124 00:06:27,940 --> 00:06:28,590 OK. 125 00:06:28,590 --> 00:06:29,210 예. 126 00:06:29,210 --> 00:06:29,600 Ompica. 127 00:06:29,600 --> 00:06:30,520 >> OMPICA : 번호 10. 128 00:06:30,520 --> 00:06:33,560 >> 제이슨 허쉬 호른 : 번호 10. 129 00:06:33,560 --> 00:06:35,400 어느 숫자 10 살? 130 00:06:35,400 --> 00:06:35,840 >> OMPICA : - 131 00:06:35,840 --> 00:06:36,420 >> 제이슨 허쉬 호른 : 나는 그러세요 - 132 00:06:36,420 --> 00:06:37,670 >> OMPICA : 포함 - 133 00:06:37,670 --> 00:06:40,060 134 00:06:40,060 --> 00:06:42,180 >> 제이슨 허쉬 호른 : 수 (10)는 8 살 나에 - 나는 여덟를 작성? 135 00:06:42,180 --> 00:06:42,980 >> OMPICA : 네. 136 00:06:42,980 --> 00:06:43,630 >> 제이슨 허쉬 호른 : OK. 137 00:06:43,630 --> 00:06:47,390 그래서 또 다른 문제가있을 수 내가 선견지명 오전 물었다? 138 00:06:47,390 --> 00:06:48,630 대답은 '예'입니다. 139 00:06:48,630 --> 00:06:52,060 퀴즈 이전 섹션에서는 요청 너희들 스털링 모두를 코딩하고 140 00:06:52,060 --> 00:06:52,980 8 개의 I에. 141 00:06:52,980 --> 00:06:54,770 둘에게 무슨 일이 있었 퀴즈에 나타납니다. 142 00:06:54,770 --> 00:06:57,510 그래서 바라건대, 당신은 지불 그에 대한 관심. 143 00:06:57,510 --> 00:07:02,520 >> 당신이 가지고 있다면, 당신은 것 아마 그 두 가지에 잘. 144 00:07:02,520 --> 00:07:06,030 그러나 8 개의 I에, 우리가하지 않았다 실제로 코드 그것은 클래스에서, 그러나 다시,이었다 145 00:07:06,030 --> 00:07:07,500 퀴즈에 물었다. 146 00:07:07,500 --> 00:07:13,270 그래서 수행 할 몇 가지 나는 여덟 코딩 할 때주의한다. 147 00:07:13,270 --> 00:07:17,320 먼저, 질문에 당이었다 당신은 확인이 필요하다고하면 문자열 148 00:07:17,320 --> 00:07:20,300 널 (null)와 동등했다. 149 00:07:20,300 --> 00:07:28,060 >> 몇 사람이 나중에 확인하려고 프로그램의 경우 브래킷은 내가했다 - 150 00:07:28,060 --> 00:07:30,940 그에서 너무 특정 문자 문자열 - 널 (null)와 동등했다. 151 00:07:30,940 --> 00:07:35,600 그러나 널 (null)이 본질적으로 기억 - 그것을 생각하는 것이 좋다 152 00:07:35,600 --> 00:07:39,100 제로 포인터를 null로 - 제로 포인터 - 153 00:07:39,100 --> 00:07:40,920 메모리에있는 곳 어디 당신은 접근 할 수 없다. 154 00:07:40,920 --> 00:07:44,730 >> 그렇다면 뭔가 당신이 널 (null)과 동일 이 초기화되지 않았 음을 알고, 155 00:07:44,730 --> 00:07:46,430 또는 거기에 아무것도 없습니다. 156 00:07:46,430 --> 00:07:50,950 그래서 s의 문자 스타들입니다 브래킷 나는 문자입니다. 157 00:07:50,950 --> 00:07:57,410 그래서, null로의 비교 의미가 있습니다 하지만의 부류는 내가 널 (null)입니다. 158 00:07:57,410 --> 00:07:59,390 그러나 다시 - 그래서 첫 번째 일이었다 당신은 어떻게해야되었다는 것을 - 159 00:07:59,390 --> 00:08:03,510 있는지 확인하십시오 당신이 실제로 실제 문자열을 얻었다. 160 00:08:03,510 --> 00:08:08,020 >> 다음으로, 당신은을 통해 가고 싶어 문자열의 각 문자. 161 00:08:08,020 --> 00:08:12,500 그리고 그의 브래킷 같은 것 내가 예를 들어, 내가 반복기 경우. 162 00:08:12,500 --> 00:08:17,250 그리고 그 문자를 가지고 가고, 그것의 실제적인 가치를 얻을. 163 00:08:17,250 --> 00:08:21,800 당신은 그것을 문자로 저장했지만 제로의 ASCII 값 - 164 00:08:21,800 --> 00:08:23,010 문자로 제로 - 165 00:08:23,010 --> 00:08:25,450 실제로 정수 0이 아닌. 166 00:08:25,450 --> 00:08:28,700 그것은 당신이 할 수있는 다른 수의 ASCII 표에서 찾아보십시오. 167 00:08:28,700 --> 00:08:30,790 >> 그래서 한 가지 방법은 그 보정하기 위해 - 를 교정하는 것이 가장 좋은 방법 168 00:08:30,790 --> 00:08:33,760 그 - 그것에서 빼기된다 문자 값 - 169 00:08:33,760 --> 00:08:35,140 문자로 제로. 170 00:08:35,140 --> 00:08:38,490 그래서 마이너스 따옴표, 영, 또 다른 작은 따옴표. 171 00:08:38,490 --> 00:08:44,620 즉 당신이 어떤 번호를 취할 것 문자로, 그리고에이 같은 얻을 172 00:08:44,620 --> 00:08:46,720 실제 정수로 수. 173 00:08:46,720 --> 00:08:50,300 >> 그리고 그 방법과 매우 유사하다 많은 사람들을 도입 174 00:08:50,300 --> 00:08:52,800 문제는 시저로 설정 2, 및 Viginere - 175 00:08:52,800 --> 00:08:55,160 그 암호, 때 을 중심으로 회전 하였다. 176 00:08:55,160 --> 00:08:59,210 당신의 숫자로이 너무 후 제로 아홉에, 다음 -에 따라 177 00:08:59,210 --> 00:09:02,750 그것은 궁극의 수에가는 곳 - 당신은 그것을 곱해야 178 00:09:02,750 --> 00:09:04,120 10의 힘으로. 179 00:09:04,120 --> 00:09:07,340 >> 어떤 사람들은에 뒤쪽에서 이동 전면 및 개인을 곱한 180 00:09:07,340 --> 00:09:08,940 10의 힘으로 수. 181 00:09:08,940 --> 00:09:11,160 어떤 사람들은에서 이동 백업하는 프런트 - 182 00:09:11,160 --> 00:09:14,430 그래서 가장 높은했다 첫 번째 번호를 주문 - 183 00:09:14,430 --> 00:09:18,190 그리고 사람들을 절약 할 수 글로벌 카운터 변수. 184 00:09:18,190 --> 00:09:20,880 다음에 대한 매번 루프, 증식하는 글로벌 거인 185 00:09:20,880 --> 00:09:25,640 하기 위해, (10)에 의해 변수에 대응 다음 문자를위한 공간입니다. 186 00:09:25,640 --> 00:09:28,750 >> 그래서하지 않고 약간 혼란이었다 내가 그것을 칠판에 작성합니다. 187 00:09:28,750 --> 00:09:31,550 그러나 시료 용액 당신이 사용할 수 있습니다. 188 00:09:31,550 --> 00:09:32,870 그러나 사람들은 큰 일이었다 우리는을 찾고 있었다. 189 00:09:32,870 --> 00:09:36,400 또한 반드시 각 있는지 확인하는 검사 각각의 캐릭터는 참이었다 190 00:09:36,400 --> 00:09:39,780 제로 아홉, 그리고 사이의 문자 같은 일부 다른 문자, 191 00:09:39,780 --> 00:09:41,160 예를 들어. 192 00:09:41,160 --> 00:09:43,150 >> 사람들은 우리가 찾고 있던 것들이었다 에 대한 그 질문에. 193 00:09:43,150 --> 00:09:46,510 194 00:09:46,510 --> 00:09:47,980 그 질문에 대한 답변을합니까? 195 00:09:47,980 --> 00:09:49,320 >> OMPICA : 네. 196 00:09:49,320 --> 00:09:50,240 >> 제이슨 허쉬 호른 : OK. 197 00:09:50,240 --> 00:09:53,940 다른 질문이 있습니다 퀴즈 0 어떻습니까? 198 00:09:53,940 --> 00:09:55,440 어떻게 컴파일에 대한? 199 00:09:55,440 --> 00:09:56,740 모두가 바로 컴파일? 200 00:09:56,740 --> 00:09:58,370 아니오. 201 00:09:58,370 --> 00:09:58,840 이 있었다 - 202 00:09:58,840 --> 00:10:01,010 [웃음] 203 00:10:01,010 --> 00:10:03,265 에 대한 질문 컴파일 과정? 204 00:10:03,265 --> 00:10:06,050 205 00:10:06,050 --> 00:10:06,966 와우. 206 00:10:06,966 --> 00:10:11,090 >> [용지 부스럭] 207 00:10:11,090 --> 00:10:11,520 >> 제이슨 허쉬 호른 : 예. 208 00:10:11,520 --> 00:10:11,700 마이클. 209 00:10:11,700 --> 00:10:14,140 >> 마이클 : - 임의의 숫자 7인가? 210 00:10:14,140 --> 00:10:16,500 >> 제이슨 허쉬 호른 : 번호 7. 211 00:10:16,500 --> 00:10:20,670 숫자 7은 임의의 정수를 얻을 수 있었다. 212 00:10:20,670 --> 00:10:21,110 우수. 213 00:10:21,110 --> 00:10:25,630 그래서 당신은 정수를 부여하고있어 정수 B, 당신은 임의의 원하는 214 00:10:25,630 --> 00:10:28,710 A와 B 사이의 정수입니다. 215 00:10:28,710 --> 00:10:31,740 우리는 실제로이 하나에 기록 할 수 보드,이 때문에 하나의 216 00:10:31,740 --> 00:10:33,320 한 줄의 코드이었다 - 217 00:10:33,320 --> 00:10:34,390 그것을 할 수있는 하나의 방법입니다. 218 00:10:34,390 --> 00:10:37,810 >> 그래서 우리는 같은 DRAND 제공하고 기능은 우리가 사용할 수 있습니다. 219 00:10:37,810 --> 00:10:38,820 그리고 무슨 일이 DRAND 않습니다 - 220 00:10:38,820 --> 00:10:40,290 이 배정되어있어 가정 - 221 00:10:40,290 --> 00:10:42,316 무엇을 반환 DRAND합니까? 222 00:10:42,316 --> 00:10:44,840 >> 마이클 : 0.0에서 1.0 사이의 부동. 223 00:10:44,840 --> 00:10:45,530 >> 제이슨 허쉬 호른 : 수 - 네. 224 00:10:45,530 --> 00:10:47,910 0과 1 사이의 숫자입니다. 225 00:10:47,910 --> 00:10:51,760 그래서 우리는 B와있다. 226 00:10:51,760 --> 00:10:55,480 그리고 우리는 우리의 임의의 번호를 가지고 0과 1 DRAND에 의해 우리에게 주어진. 227 00:10:55,480 --> 00:11:01,480 228 00:11:01,480 --> 00:11:06,630 어떤 사람들은 B를 넣어하려고, 또는 B 마이너스 그 안에, 또는 뭔가 229 00:11:06,630 --> 00:11:07,960 괄호. 230 00:11:07,960 --> 00:11:11,210 즉, 그들이 걸 의미 이 함수에 대한 인수. 231 00:11:11,210 --> 00:11:13,450 >> DRAND 인수를 사용하지 않는다 - 있는 getString이하는 것처럼 232 00:11:13,450 --> 00:11:14,330 인수를 사용하지. 233 00:11:14,330 --> 00:11:16,600 그래서 가까운, 그냥 열린 괄호의 괄호 - 그리고 그 자체입니다 234 00:11:16,600 --> 00:11:17,330 함수 호출. 235 00:11:17,330 --> 00:11:19,770 그리고 그것은 당신에게 수를 제공합니다 0과 1 사이. 236 00:11:19,770 --> 00:11:22,820 물론, 우리는 전체 범위가 숫자는 안으로 할 수 있다는 237 00:11:22,820 --> 00:11:28,470 >> B (10)이며, 5 인 경우, 우리가 정말, 말 5의 범위와 수를 싶습니다. 238 00:11:28,470 --> 00:11:36,940 그래서 우리가해야 할 다음 일은이다 범위 B 마이너스를 곱하면. 239 00:11:36,940 --> 00:11:40,380 그래서이 곱있어 가정. 240 00:11:40,380 --> 00:11:42,590 그리고 우리에게 전화 번호를 알려 줄게 주어진 범위 내에서. 241 00:11:42,590 --> 00:11:46,610 그리고 특정 범위 인 B 마이너스의 차이. 242 00:11:46,610 --> 00:11:50,030 >> 그리고 마지막으로, 그것 단지에서 줄 것이다 - B 마이너스의 범위를 말한다 243 00:11:50,030 --> 00:11:52,520 5, 그것은 우리에게주지되어 0-5 숫자. 244 00:11:52,520 --> 00:11:56,000 사실 5에있는 경우에, 우리는 강화해야 그것의 위치로이 범위의 최대 245 00:11:56,000 --> 00:12:01,380 사실을 추가하여, 있어야. 246 00:12:01,380 --> 00:12:02,580 그래서 논리 권리를 가져옵니다. 247 00:12:02,580 --> 00:12:03,745 그리고, 당신은 것 또 다른 질문? 248 00:12:03,745 --> 00:12:04,547 >> 마이클 : 아니오. 249 00:12:04,547 --> 00:12:06,010 난 그냥 지금은 정말 바보 같은 느낌. 250 00:12:06,010 --> 00:12:06,405 [웃음] 251 00:12:06,405 --> 00:12:06,730 >> 제이슨 허쉬 호른 : 호 252 00:12:06,730 --> 00:12:08,640 정말 바보 같은 생각하지 마십시오. 253 00:12:08,640 --> 00:12:10,560 사람들의 숫자는 고투 이 질문. 254 00:12:10,560 --> 00:12:13,920 그리고, 다른 질문은, DRAND, 당신은 말했다 당신에게 부유물을 제공합니다 - 255 00:12:13,920 --> 00:12:14,940 플로트를 반환합니다. 256 00:12:14,940 --> 00:12:18,020 그러나이 기능은 실제로 질문 정수가 반환 될 때까지. 257 00:12:18,020 --> 00:12:23,700 >> 당신은 명시 적으로 캐스팅 할 필요가 없습니다 정수로,이 때문에 258 00:12:23,700 --> 00:12:29,090 작업은 모든으로 취급합니다 부동 - 부동 소수점 수로. 259 00:12:29,090 --> 00:12:31,570 이 뜻과 같은 -도이 경우 정수,이 뜻 260 00:12:31,570 --> 00:12:32,890 제대로 곱. 261 00:12:32,890 --> 00:12:34,000 모든 곱셈 작동합니다. 262 00:12:34,000 --> 00:12:35,060 현재 캐스팅 할 필요가 없습니다. 263 00:12:35,060 --> 00:12:36,480 사실, 당신은 캐스팅하지 않아야합니다. 264 00:12:36,480 --> 00:12:37,310 >> 그 것 - 265 00:12:37,310 --> 00:12:40,750 당신은 번호를 캐스팅하면 즉, 0과 1 사이의 정보 - 266 00:12:40,750 --> 00:12:42,680 난수, 부동 소수점 - 267 00:12:42,680 --> 00:12:47,850 다음 중 하나 그래서, 만 0 또는 1이됩니다 당신은 그 정확성을 모두 잃게됩니다. 268 00:12:47,850 --> 00:12:50,120 그러나 마지막에, 당신이 돌아 왔을 때, 자동으로 가져옵니다 269 00:12:50,120 --> 00:12:51,620 정수로 돌아온다. 270 00:12:51,620 --> 00:12:56,870 그래서 당신은 할 필요가 없습니다 그 자신을 캐스팅. 271 00:12:56,870 --> 00:13:00,810 >> 그래서이에 대한 답이었다 그 질문에, 수 7. 272 00:13:00,810 --> 00:13:02,190 퀴즈 0에 다른 질문? 273 00:13:02,190 --> 00:13:03,300 그래, 애니. 274 00:13:03,300 --> 00:13:05,050 >> 애니 : 우리는 재귀를 사용할 때는 - 275 00:13:05,050 --> 00:13:07,850 때 우리가 반복 루프를 사용합니까? 276 00:13:07,850 --> 00:13:10,210 >> 제이슨 허쉬 호른 : 당신은 언제 사용합니까 재귀 - 그래서 더 일반적으로, 277 00:13:10,210 --> 00:13:14,110 재귀 대의 장단점 반복적 인 접근 방식. 278 00:13:14,110 --> 00:13:17,110 사람은 프로 또는 사기꾼을 제공 할 수 있습니까? 279 00:13:17,110 --> 00:13:19,460 나요? 280 00:13:19,460 --> 00:13:20,140 아무도 할 수 없습니다. 281 00:13:20,140 --> 00:13:22,526 누가 프로 또는 사기꾼을 제공 할 수 있습니까? 282 00:13:22,526 --> 00:13:26,963 >> [용지 부스럭] 283 00:13:26,963 --> 00:13:29,730 >> 학생 1 : 재귀 이하 코딩 - 더 적은 입력을? 284 00:13:29,730 --> 00:13:33,170 >> 제이슨 허쉬 호른 : 그래서 일반적으로, 재귀 특히, 기능 - 285 00:13:33,170 --> 00:13:35,750 또는 병합과 같은 알고리즘 종류 - 어느 빌려 준다 286 00:13:35,750 --> 00:13:37,300 재귀 적 접근 - 287 00:13:37,300 --> 00:13:40,710 더 간단 수 있습니다 재귀 코드입니다. 288 00:13:40,710 --> 00:13:43,940 단지 더 많은 의미를 재귀 적으로 할 수 있습니다. 289 00:13:43,940 --> 00:13:46,230 그래서 재귀 프로 것입니다. 290 00:13:46,230 --> 00:13:46,610 기타? 291 00:13:46,610 --> 00:13:47,467 그래? 292 00:13:47,467 --> 00:13:49,240 >> 학생 2 : 재귀 콘 - 293 00:13:49,240 --> 00:13:50,940 그것은 더 많은 메모리를 사용합니다. 294 00:13:50,940 --> 00:13:52,200 >> 제이슨 허쉬 호른 : 그래서 정확히 맞아. 295 00:13:52,200 --> 00:13:55,720 재귀 함수는 계속 추가됩니다 스택은 스택에 프레임. 296 00:13:55,720 --> 00:13:59,690 당신은 많은에서 작동하고이 경우 숫자,이 전화를해야 297 00:13:59,690 --> 00:14:02,560 많은 기능, 당신은 확실히 것 반면, 더 많은 메모리를 차지 298 00:14:02,560 --> 00:14:05,810 반복적 인 접근 방식은 하나를 넣어 것입니다 스택에 스택 프레임 때문에 299 00:14:05,810 --> 00:14:08,420 모두가 하나의 함수 내에서 발생합니다. 300 00:14:08,420 --> 00:14:11,010 >> 다른 장점과 단점? 301 00:14:11,010 --> 00:14:11,500 그래. 302 00:14:11,500 --> 00:14:12,550 >> 학생 3 : 재귀 프로. 303 00:14:12,550 --> 00:14:15,950 당신이 결정할 필요가 없습니다 사전에 몇 번 304 00:14:15,950 --> 00:14:17,660 코드 반복했다. 305 00:14:17,660 --> 00:14:22,810 당신은 소정의 수를 가질 수있다 그런 다음, 반복 할 시간 306 00:14:22,810 --> 00:14:26,420 재귀가 더 낫기 때문에, 그것은 그 결과를합니다. 307 00:14:26,420 --> 00:14:27,780 >> 제이슨 허쉬 호른 : 그 사실 생각합니다. 308 00:14:27,780 --> 00:14:30,770 하지만 두 경우 모두 생각 당신은 결코 것 - 309 00:14:30,770 --> 00:14:33,290 당신은 아마 몇 가지를 얻을 것 사용자로부터 입력. 310 00:14:33,290 --> 00:14:35,990 아니면이 함수는 몇 가지 입력을해야합니다 그 결정하는 방법을 여러 번 311 00:14:35,990 --> 00:14:36,730 실행해야합니다. 312 00:14:36,730 --> 00:14:39,520 그래서 일반적으로, 당신은 하드 코드를 않을 것 - 심지어 반복적 인 접근 방법 - 313 00:14:39,520 --> 00:14:40,940 여러 번 그 루프가 실행해야합니다. 314 00:14:40,940 --> 00:14:46,100 315 00:14:46,100 --> 00:14:48,670 >> 당신은 당신이 있었다 다른 있었나요 애니에 대한 생각? 316 00:14:48,670 --> 00:14:49,330 OK. 317 00:14:49,330 --> 00:14:51,650 그래서 사람들은 아마 두 가지 - 318 00:14:51,650 --> 00:14:54,370 가장 큰 프로와 가장 큰 대 재귀에 사기 319 00:14:54,370 --> 00:14:57,080 반복적 인 접근 방식. 320 00:14:57,080 --> 00:14:57,690 OK. 321 00:14:57,690 --> 00:14:59,465 퀴즈 0에 다른 건? 322 00:14:59,465 --> 00:15:08,940 323 00:15:08,940 --> 00:15:09,920 >> 그냥 넘어 가자. 324 00:15:09,920 --> 00:15:15,260 파일 I / O 멋진 짧은이있다 이번 주 파일에 대한 I / O 그 희망 325 00:15:15,260 --> 00:15:19,270 여러를 보았다 시간, 존경. 326 00:15:19,270 --> 00:15:22,910 많은 작업이로 가고, 나는했습니다 그것은 굉장히 도움이 들었다. 327 00:15:22,910 --> 00:15:25,740 또한,이 슬라이드에 대한 링크를 포함 경우에 당신은 없었어요 328 00:15:25,740 --> 00:15:29,160 그것을 10 배를 볼 수있는 기회. 329 00:15:29,160 --> 00:15:35,280 >> 그래서, 우리는 잠시 동안 갈 수 있습니다 열고 작업하는 주요 단계 330 00:15:35,280 --> 00:15:38,400 파일, 그리고, 우리는 가고있다 전에 코딩 문제에 뛰어들 331 00:15:38,400 --> 00:15:40,400 문제 세트를 검사. 332 00:15:40,400 --> 00:15:44,330 그래서 다시, 나는에 이것을 넣어 갈거야 화면,하지만 난에 대해 얘기하는거야 333 00:15:44,330 --> 00:15:47,630 우리가 왜 왔는지에 대해 잠깐 파일을 여기에서하고 I/O-- 334 00:15:47,630 --> 00:15:49,090 그게 무슨 뜻 이죠? 335 00:15:49,090 --> 00:15:55,280 >> 즉, 우리가 만들 수 있다는 것을 의미하는 우리의 프로그램을 선택한 다음 우리의 프로그램이 336 00:15:55,280 --> 00:16:00,370 종료 및에 어떤 영향을 만들었하지 우리의 프로그램의 외부 세계. 337 00:16:00,370 --> 00:16:04,630 그러나 우리는 파일에 대한 작업을 시작할 때 - 모두를 읽고 작성 338 00:16:04,630 --> 00:16:10,460 그들 - 우리에 어떤 영향을 미칠 수 있습니다 우리의 프로그램의 외부 세계. 339 00:16:10,460 --> 00:16:15,440 >> 그냥 같은 Microsoft Word에서는 할 수 없었던 경우 다음, 모든 Word 문서를 만들려면 340 00:16:15,440 --> 00:16:18,710 마이크로 소프트 워드, 당신의 전부를 종료하면 작업은 없어 질 것이며, 그것은 것 341 00:16:18,710 --> 00:16:19,740 정말 쓸모가 없다. 342 00:16:19,740 --> 00:16:23,620 우리는 궁극적으로 할 수 있도록하려는 않는다 에 영향을 줄 수있는 프로그램을 작성 343 00:16:23,620 --> 00:16:31,350 그들 주위의 세계에 모두 복용하여 파일의 측면에서와 - 복잡한 입력 344 00:16:31,350 --> 00:16:37,080 파일을 통해, 또한 흥미로운 만들기 강제적 출력 - 345 00:16:37,080 --> 00:16:39,520 파일의 다른 유형의 용어. 346 00:16:39,520 --> 00:16:43,730 >> 우리가 시작하는 것도 그런 이유입니다 파일을 사용하여 작업하는 방법에 대해 설명합니다. 347 00:16:43,730 --> 00:16:47,080 보다 구체적으로, 주변 우리는 다음과 같이하면됩니다. 348 00:16:47,080 --> 00:16:47,680 그것은 매우 간단합니다. 349 00:16:47,680 --> 00:16:51,530 이 단계의 단지 몇이 있고, 그들은이 코드를 다음과 같습니다. 350 00:16:51,530 --> 00:16:55,130 그래서 우리는 통과거야 라인으로이 코드 라인. 351 00:16:55,130 --> 00:16:57,630 >> 첫째, 당신은 강조를 참조하십시오 - 352 00:16:57,630 --> 00:17:01,330 당신은 파일을 작업 할 때 관계없이 파일의 분류는, 인 353 00:17:01,330 --> 00:17:02,670 당신은 그것을 열어야합니다. 354 00:17:02,670 --> 00:17:05,130 그리고 그은 fopen를 호출합니다 - 355 00:17:05,130 --> 00:17:05,950 바로 여기. 356 00:17:05,950 --> 00:17:07,980 당신은 파일의 이름이 포함됩니다. 357 00:17:07,980 --> 00:17:11,930 파일, 디렉토리에없는 경우 또는 폴더 위치를이 프로그램 358 00:17:11,930 --> 00:17:15,910 삶, 당신은 또한 포함해야 해당 파일이 어디에의 경로. 359 00:17:15,910 --> 00:17:19,099 >> 우리는 가정 할 것입니다 그이 "text.txt"라는 파일 - 360 00:17:19,099 --> 00:17:24,220 간단한 텍스트 문서가 -입니다 이 프로그램과 같은 폴더입니다. 361 00:17:24,220 --> 00:17:26,859 그래서해야 할 또 하나의 마음 - 당신은 파일을 열려면 362 00:17:26,859 --> 00:17:30,050 다른 곳에서 실제로 필요 그 위치를 포함합니다. 363 00:17:30,050 --> 00:17:33,520 >> 둘째, 당신은에 인수를 전달할 수 있습니다 fopen을, 그리고 당신이 원하는 무엇 364 00:17:33,520 --> 00:17:34,620 파일로. 365 00:17:34,620 --> 00:17:38,450 세 가지 주요 인자가있다 당신은 fopen에 전달할 것입니다. 366 00:17:38,450 --> 00:17:40,060 누가 나에게이 세 가지를 줄 수 있습니까? 367 00:17:40,060 --> 00:17:44,960 368 00:17:44,960 --> 00:17:47,130 누가 나에게 그 중 하나를 줄 수 있습니까? 369 00:17:47,130 --> 00:17:48,130 예. 370 00:17:48,130 --> 00:17:50,010 >> 학생 4 : 파일 이름은? 371 00:17:50,010 --> 00:17:50,440 >> 제이슨 허쉬 호른 : 죄송합니다. 372 00:17:50,440 --> 00:17:55,490 당신이 전달할 수있는 세 가지 주요 인자 두 번째 인수는 fopen에 관해서. 373 00:17:55,490 --> 00:17:57,060 당신이 옳아 요 - 파일 이름 첫 번째 인수입니다. 374 00:17:57,060 --> 00:18:01,620 그러나 fopen의 두 번째 인수는 일반적으로 세 개의 문자열, - 예. 375 00:18:01,620 --> 00:18:02,210 Aleja. 376 00:18:02,210 --> 00:18:03,490 >> ALEJA : APPEND를위한. 377 00:18:03,490 --> 00:18:06,840 >> 제이슨 허쉬 호른 : A, 당신이 원하는 경우 이미 존재하는 파일에 추가. 378 00:18:06,840 --> 00:18:07,810 >> 학생 5 : 읽기 R. 379 00:18:07,810 --> 00:18:09,930 >> 제이슨 허쉬 호른 : R, 만약에 당신 파일에서 읽고 싶어. 380 00:18:09,930 --> 00:18:10,670 >> 학생 6 : 쓰기위한 W. 381 00:18:10,670 --> 00:18:12,840 >> 제이슨 허쉬 호른 : 그리고, w 경우 파일에 기록합니다. 382 00:18:12,840 --> 00:18:17,570 따라서이 경우, 우리가 작성하는 파일에, 그래서 우리는 w가있다. 383 00:18:17,570 --> 00:18:22,360 당신이 그것을 열, 당신은 또한 저장해야 어딘가에 파일을, 그리고 그와의 384 00:18:22,360 --> 00:18:26,000 의 왼쪽에 코드 대입 연산자 - 385 00:18:26,000 --> 00:18:31,220 나는 파일에 대한 포인터를 만드는거야 이 경우, 파일, 호출. 386 00:18:31,220 --> 00:18:36,070 >> 우리는 걱정하지 않을 것을 이 모두 대문자 파일 것입니다. 387 00:18:36,070 --> 00:18:40,600 놓고 말하면, 그것은 롱 0과 1의 스트림. 388 00:18:40,600 --> 00:18:44,970 그리고 그것은 우리가가는 방법 조작하고 이해합니다. 389 00:18:44,970 --> 00:18:47,300 >> 우리가해야 할 다음 일은 - 및 이것은 매우 중요합니다 - 390 00:18:47,300 --> 00:18:49,070 당신은 파일을 열 때마다 - 391 00:18:49,070 --> 00:18:54,250 사실, 당신의 malloc을 호출 할 때마다, 대한 예를 들어, 일부 메모리를 얻을 시도 392 00:18:54,250 --> 00:18:57,980 그리고 항상 포인터에 저장 있다는 것을 확인하기 위하여 원하는 393 00:18:57,980 --> 00:19:00,230 함수는 NULL을 반환하지 않았습니다. 394 00:19:00,230 --> 00:19:05,230 >> 따라서이 경우, 우리는 할 계십니다 우리가 실제로 열려 있는지 확인 395 00:19:05,230 --> 00:19:10,230 파일을 올바르게하고 있었다 우리의 프로그램에 오류가 없습니다. 396 00:19:10,230 --> 00:19:15,160 다음으로, 일단 우리가 확인하기 위해 검사 한 우리는 우리가 할 수있는, 작업 파일이 있다고 397 00:19:15,160 --> 00:19:18,520 에 쓰기 또는 읽을 또는 파일을 추가합니다. 398 00:19:18,520 --> 00:19:24,270 이 경우, 단순히 인쇄하고 이 파일에 한 줄. 399 00:19:24,270 --> 00:19:25,450 >> 어떻게 그 알 수 있습니까? 400 00:19:25,450 --> 00:19:27,990 글쎄, 난이 기능을 사용하고 있습니다 fprintf와했다. 401 00:19:27,990 --> 00:19:30,970 당신이 사용하게 될 모든 기능 ,에 쓰거나에서, 또는 읽을 때 402 00:19:30,970 --> 00:19:34,950 파일을 조작하는 것은 유사합니다 당신은 전에 본 적이 있지만 기능 403 00:19:34,950 --> 00:19:38,420 문자 F로 시작, 파일 서. 404 00:19:38,420 --> 00:19:43,440 fprintf와, 우리의 일반 인쇄와 달리 응용 프로그램은, 하나의 추가 인수를, 405 00:19:43,440 --> 00:19:47,800 그 파일이 어디 있는지 이 라인을 인쇄 할. 406 00:19:47,800 --> 00:19:50,640 >> 나는 아무 상관이 없습니다 ohai의 오른쪽. 407 00:19:50,640 --> 00:19:52,860 나는 세 번째가 없습니다 의 printf 인자 - 408 00:19:52,860 --> 00:19:57,030 또는 두 번째 인수는 printf, 세 번째 인수 인 fpr​​intf 때문에 I 409 00:19:57,030 --> 00:19:59,480 여기에 어떤 자리가 없습니다. 410 00:19:59,480 --> 00:20:01,070 어떤 변수를 포함하지 않는거야. 411 00:20:01,070 --> 00:20:06,070 그러나 다시, fprintf와 이러한 파일의 모든 파일 조작 기능 412 00:20:06,070 --> 00:20:09,820 일반적으로 파일이 필요할 것입니다 하는 그들이 운영하고 있습니다. 413 00:20:09,820 --> 00:20:15,960 >> 마지막으로, 마지막으로 중요한 것은에 수행은 같은 파일을 닫는 것입니다 414 00:20:15,960 --> 00:20:19,530 와 - 우리가 뭔가를 MALLOC 때마다, 우리는 우리 않도록 뭔가를 무료로 할 415 00:20:19,530 --> 00:20:22,730 메모리 누수가 - 우리가 원하는 우리의 파일을 닫습니다. 416 00:20:22,730 --> 00:20:28,180 이 프로그램은 종료하지 않고 종료하는 경우 이 파일은, 확률은 아무것도 갈 것입니다 417 00:20:28,180 --> 00:20:30,050 문제, 특히 경우 작은 파일이었다. 418 00:20:30,050 --> 00:20:35,020 >> 그러나 그것은 확실히 좋은 코딩 스타일 항상 파일을 닫 연습 419 00:20:35,020 --> 00:20:38,050 당신은 그것을 사용을 완료 할 때. 420 00:20:38,050 --> 00:20:43,630 그래서 파일의 기본 I / O입니다 당신은 아마 그 전에 본, 또는 한 421 00:20:43,630 --> 00:20:45,710 그 판타스틱 단편에서 보았다. 422 00:20:45,710 --> 00:20:48,410 아무도 전에 질문이 있습니까 우리는 연습 코딩로 이동 423 00:20:48,410 --> 00:20:51,800 파일에 대한 문제, I / O 또는 단계는 그냥 갔다? 424 00:20:51,800 --> 00:21:00,198 425 00:21:00,198 --> 00:21:03,162 >> [타이핑 소리] 426 00:21:03,162 --> 00:21:04,150 >> 제이슨 허쉬 호른 : 당신이 있습니까 질문, 아비가? 427 00:21:04,150 --> 00:21:04,660 >> AVI : 호 428 00:21:04,660 --> 00:21:04,740 >> 제이슨 허쉬 호른 : OK. 429 00:21:04,740 --> 00:21:06,746 나는 서로를 기다릴거야 칠초. 430 00:21:06,746 --> 00:21:07,590 [웃음] 431 00:21:07,590 --> 00:21:08,620 즉, 정말 좋은 팁입니다. 432 00:21:08,620 --> 00:21:10,750 너희들은 좋아하지 않는다 질문을. 433 00:21:10,750 --> 00:21:11,660 괜찮아요. 434 00:21:11,660 --> 00:21:12,330 OK. 435 00:21:12,330 --> 00:21:17,620 그래서 우리의 첫 번째 연습 문제는 우리가있다 기능을 복제하는 것 436 00:21:17,620 --> 00:21:22,330 명령 줄 도구 당신 아마 사본 - 이전에 사용 - 437 00:21:22,330 --> 00:21:23,500 복사 도구입니다. 438 00:21:23,500 --> 00:21:28,050 당신은 CP를 입력하고 다음을 전달하면 두 터미널에 인수, 당신은 할 수 439 00:21:28,050 --> 00:21:28,980 파일을 복사합니다. 440 00:21:28,980 --> 00:21:31,220 그리고 우리가가는 것입니다 지금 쓰고. 441 00:21:31,220 --> 00:21:35,830 >> 그래서 다시,이 슬라이드 오프 읽고, 나는 거라고 당신이 걸리는 프로그램을 작성하는 442 00:21:35,830 --> 00:21:38,130 이 두 개의 명령 줄 만 인수 - 443 00:21:38,130 --> 00:21:40,750 소스 파일과 대상 파일 - 444 00:21:40,750 --> 00:21:44,590 복사 소스의 내용 대상 파일에 파일을 445 00:21:44,590 --> 00:21:46,960 한 번에 한 바이트. 446 00:21:46,960 --> 00:21:48,510 그래서에 대한 질문을 많이. 447 00:21:48,510 --> 00:21:52,200 >> 다시 말하지만,이에 좋은 방법은 다음과 같다 C 코드로 바로 이동하지만 448 00:21:52,200 --> 00:21:54,280 몇 가지 단계로 분해. 449 00:21:54,280 --> 00:21:58,400 첫째, 논리에 대한 생각 - 정확히 내가 무엇을 부탁 해요 - 450 00:21:58,400 --> 00:22:00,620 및 모든 이해 이 문제에 대한 단계. 451 00:22:00,620 --> 00:22:04,410 안 C에서, 그냥 의사 코드, 또는 심지어 정신 모델 452 00:22:04,410 --> 00:22:06,030 무슨 일이 일어나고. 453 00:22:06,030 --> 00:22:10,050 >> 다음, 당신은 의사를 한 후에 파악하는 방법을 의사 454 00:22:10,050 --> 00:22:14,600 도구와 우리가했습니다 가지 위에지도 C에서 사용하는 학습 455 00:22:14,600 --> 00:22:19,070 >> 그리고 마지막으로, 한 번 모든 것을이 함께, 당신은 문제를 코딩 할 수 있습니다. 456 00:22:19,070 --> 00:22:23,370 5-10 분 정도 소요 이 문제에 작동합니다. 457 00:22:23,370 --> 00:22:25,800 나는 지시를 놓을 게요 다시 두 번째 최대. 458 00:22:25,800 --> 00:22:27,990 그리고 우리는 가서거야 의사 코드 및 코드 459 00:22:27,990 --> 00:22:29,230 그것은 그룹으로 살고 있습니다. 460 00:22:29,230 --> 00:22:31,640 >> 당신이있는 동안 당신은 질문이있는 경우 이 작업 인상 주시기 바랍니다 461 00:22:31,640 --> 00:22:34,260 당신의 손, 그리고 올 것이다 주위에하고 대답합니다. 462 00:22:34,260 --> 00:22:37,020 463 00:22:37,020 --> 00:22:39,330 >> 학생 7 : 나는 슬쩍 수 종이? 464 00:22:39,330 --> 00:22:41,537 >> 제이슨 허쉬 호른 : 무슨 일 이죠? 465 00:22:41,537 --> 00:26:46,047 466 00:26:46,047 --> 00:26:48,043 >> [타이핑 소리] 467 00:26:48,043 --> 00:26:48,730 >> 제이슨 허쉬 호른 : OK. 468 00:26:48,730 --> 00:26:51,710 의 첫 번째 의사에 가자하고, 나는 당신에게 몇 가지 더주지 469 00:26:51,710 --> 00:26:52,960 분 코딩을 완료합니다. 470 00:26:52,960 --> 00:26:55,540 471 00:26:55,540 --> 00:26:58,650 >> 누가 저를 시작하고 싶습니다 의 첫 번째 라인 472 00:26:58,650 --> 00:27:00,030 이 기능에 대한 의사? 473 00:27:00,030 --> 00:27:03,330 474 00:27:03,330 --> 00:27:05,740 >> 학생 8 : 있는지 확인하십시오 당신은 두 개의 파일을 부여했다. 475 00:27:05,740 --> 00:27:06,990 >> 제이슨 허쉬 호른 : OK. 476 00:27:06,990 --> 00:27:21,270 477 00:27:21,270 --> 00:27:22,990 그리고 우리가하지 않으면? 478 00:27:22,990 --> 00:27:25,974 >> 학생 8 : I는 0을 반환합니다. 479 00:27:25,974 --> 00:27:27,872 >> 제이슨 허쉬 호른 : 우리는 0을 반환해야합니까? 480 00:27:27,872 --> 00:27:30,182 >> 학생 8 : 반환 - 481 00:27:30,182 --> 00:27:30,650 블랭킹. 482 00:27:30,650 --> 00:27:30,850 미안 해요. 483 00:27:30,850 --> 00:27:31,210 >> 제이슨 허쉬 호른 : 네. 484 00:27:31,210 --> 00:27:32,710 아마 0. 485 00:27:32,710 --> 00:27:34,680 0 모든 것이 좋았다 의미하기 때문이다. 486 00:27:34,680 --> 00:27:35,030 OK. 487 00:27:35,030 --> 00:27:36,730 그래서 첫 번째 줄의 의사의. 488 00:27:36,730 --> 00:27:38,715 누가 의사의 두 번째 라인을 가지고? 489 00:27:38,715 --> 00:27:40,630 >> 학생 9 : 파일을 모두 열기? 490 00:27:40,630 --> 00:27:41,880 >> 제이슨 허쉬 호른 : 두 파일을 엽니 다. 491 00:27:41,880 --> 00:27:49,970 492 00:27:49,970 --> 00:27:50,920 OK? 493 00:27:50,920 --> 00:27:52,850 >> 학생 10 : 확인 파일이 NULL 인 경우? 494 00:27:52,850 --> 00:28:10,906 495 00:28:10,906 --> 00:28:12,580 >> 제이슨 허쉬 호른 : 확인하십시오 반드시 NULL 없습니다 둘. 496 00:28:12,580 --> 00:28:15,800 옆으로 - 497 00:28:15,800 --> 00:28:17,540 0 슬래시 - 498 00:28:17,540 --> 00:28:18,887 즉 NULL입니까? 499 00:28:18,887 --> 00:28:20,080 >> 학생 11 : 호 500 00:28:20,080 --> 00:28:21,190 >> 제이슨 허쉬 호른 : 그것은 NULL이 아니다. 501 00:28:21,190 --> 00:28:23,400 즉 NULL 종료라고합니다. 502 00:28:23,400 --> 00:28:25,580 그것은 실제로 하나의 'L'(으)로 철자. 503 00:28:25,580 --> 00:28:28,580 그래서에 대한 뭔가를 확인 - 그 사실은 캐릭터의 - 504 00:28:28,580 --> 00:28:31,710 그래서 대책이됩니다 확인 볼 체크와 동일하지 않는 경우에 505 00:28:31,710 --> 00:28:32,690 NULL 같습니다. 506 00:28:32,690 --> 00:28:34,100 >> 그리고 어떤 사람들 - 507 00:28:34,100 --> 00:28:36,040 자신의 퀴즈와 자신의 문제에 세트 - 가지고있다 508 00:28:36,040 --> 00:28:36,890 혼란 그 두 가지. 509 00:28:36,890 --> 00:28:38,830 그러나 그 두 가지가 있습니다 다른 사실. 510 00:28:38,830 --> 00:28:40,220 하나는 문자열을 끝 - 511 00:28:40,220 --> 00:28:43,210 하나는 0의 포인터이다. 512 00:28:43,210 --> 00:28:46,490 >> 학생 12 : 왜 확인하지 않을 파일이 NULL이 있는지 확인 513 00:28:46,490 --> 00:28:48,670 당신이 그들을 열기 전에? 514 00:28:48,670 --> 00:28:54,772 >> 제이슨 허쉬 호른 : 그래서 열려 저장 해당 파일에 뭔가. 515 00:28:54,772 --> 00:28:57,780 그리고 당신이 여기에 가면 - 516 00:28:57,780 --> 00:28:59,520 그래서이 선 -은 fopen - 517 00:28:59,520 --> 00:29:05,300 당신에게 주소와 저장소를 제공합니다 그것이 작동하는 경우 파일에 해당 주소. 518 00:29:05,300 --> 00:29:07,650 작동하지 않는 경우, NULL을 저장합니다 - 519 00:29:07,650 --> 00:29:08,020 >> 학생 12 : 오. 520 00:29:08,020 --> 00:29:08,180 OK. 521 00:29:08,180 --> 00:29:08,500 당신을 얻었다. 522 00:29:08,500 --> 00:29:09,050 >> 제이슨 허쉬 호른 : 파일에서. 523 00:29:09,050 --> 00:29:11,990 그래서 당신은 NULL을 확인 할 수 당신이 그들을 연 전에. 524 00:29:11,990 --> 00:29:13,520 NULL 뭔가하지 않았다 의미 제대로 작동. 525 00:29:13,520 --> 00:29:18,030 526 00:29:18,030 --> 00:29:18,740 OK. 527 00:29:18,740 --> 00:29:22,590 확신도를 확인하기 위하여 검사? 528 00:29:22,590 --> 00:29:23,200 또는인가? 529 00:29:23,200 --> 00:29:23,770 우리는 무엇을 생각 하는가? 530 00:29:23,770 --> 00:29:24,310 우리는 그와 함께 갈 것입니다. 531 00:29:24,310 --> 00:29:24,520 >> 학생 13 :입니다. 532 00:29:24,520 --> 00:29:25,020 >> 제이슨 허쉬 호른 :인가? 533 00:29:25,020 --> 00:29:25,930 입니다 어느 쪽? 534 00:29:25,930 --> 00:29:26,350 >> 학생 13 :입니다. 535 00:29:26,350 --> 00:29:26,390 >> 제이슨 허쉬 호른 : OK. 536 00:29:26,390 --> 00:29:28,510 우리는 몇 가지를 갖고있는 것 같다 그에 대한 합의. 537 00:29:28,510 --> 00:29:30,520 NULL입니다 둘. 538 00:29:30,520 --> 00:29:32,250 OK, 의사의 다음 행. 539 00:29:32,250 --> 00:29:33,600 누구는 아직 나에게 줄을 작성하지 않았습니다? 540 00:29:33,600 --> 00:29:37,350 541 00:29:37,350 --> 00:29:38,295 우리는 당신을 기다립니다. 542 00:29:38,295 --> 00:29:39,020 그래. 543 00:29:39,020 --> 00:29:40,895 >> 학생 14 : 당신은 읽을 필요가 첫 번째 파일에서? 544 00:29:40,895 --> 00:29:42,290 >> 제이슨 허쉬 호른 : OK. 545 00:29:42,290 --> 00:29:46,240 >> 학생 14 : 아니면 우리가 fscanf를 사용하거나 그 첫 번째 파일과 같은? 546 00:29:46,240 --> 00:29:50,650 >> 제이슨 허쉬 호른 : 그래서 우리가 원하는 첫 번째 파일에서 읽고 - 547 00:29:50,650 --> 00:29:51,900 의 바로 여기 그 넣어 보자. 548 00:29:51,900 --> 00:30:00,600 549 00:30:00,600 --> 00:30:01,880 소스 파일에서 읽습니다. 550 00:30:01,880 --> 00:30:05,370 그리고, 우리는 우리가 후에 무엇을해야합니까 소스 파일에서 읽어? 551 00:30:05,370 --> 00:30:06,620 다른 사람? 552 00:30:06,620 --> 00:30:09,150 553 00:30:09,150 --> 00:30:12,190 >> 학생 15 : 쓰기에 대상 파일? 554 00:30:12,190 --> 00:30:22,080 555 00:30:22,080 --> 00:30:25,620 >> 제이슨 허쉬 호른 : 우리는에 기록 대상 파일 및 - 556 00:30:25,620 --> 00:30:26,210 OK. 557 00:30:26,210 --> 00:30:30,030 우리는 다른 무엇을 누락? 558 00:30:30,030 --> 00:30:32,460 나에게 부여하지 않은 다른 사람 아직 코드의 라인 - 의사의. 559 00:30:32,460 --> 00:30:33,510 그래. 560 00:30:33,510 --> 00:30:36,540 >> 학생 16 : 아마도 당신은 항상 확인할 수 있습니다 여부에 대한 읽을 수있는 뭔가가있다, 561 00:30:36,540 --> 00:30:37,970 다음 줄에 드 셨나요? 562 00:30:37,970 --> 00:30:39,550 다음 줄처럼 그, (있는 경우)를 참조하십시오. 563 00:30:39,550 --> 00:30:40,660 >> [전자 음] 564 00:30:40,660 --> 00:30:41,095 >> 제이슨 허쉬 호른 : 죄송합니다. 565 00:30:41,095 --> 00:30:43,120 그건 내 저널링 소프트웨어입니다. 566 00:30:43,120 --> 00:30:43,580 그래? 567 00:30:43,580 --> 00:30:44,960 >> 학생 16 : 그래. 568 00:30:44,960 --> 00:30:48,940 >> 제이슨 허쉬 호른 : 그래서 포기 그것은 나에게 한 번 더. 569 00:30:48,940 --> 00:30:51,640 >> 학생 16 : 거기에 있는지 확인 에서 여전히 다음 줄 570 00:30:51,640 --> 00:30:52,920 읽을 수있는 소스 파일. 571 00:30:52,920 --> 00:30:53,500 >> 제이슨 허쉬 호른 : OK. 572 00:30:53,500 --> 00:30:56,060 그래서 우리는 라인을 읽는 아니에요 - 여기에 바이트를 읽고 있었다 - 573 00:30:56,060 --> 00:30:57,590 하지만 당신이 맞아요. 574 00:30:57,590 --> 00:31:00,040 우리는 때까지 읽기 및 쓰기 할 더 이상 바이트가있다. 575 00:31:00,040 --> 00:31:11,430 576 00:31:11,430 --> 00:31:11,735 OK. 577 00:31:11,735 --> 00:31:16,940 그래서이 정말 들여 쓰기해야한다 비트, 그들이 거기에서이기 때문에. 578 00:31:16,940 --> 00:31:17,470 오른쪽? 579 00:31:17,470 --> 00:31:20,620 우리가 바이트 아웃 될 때까지, 우리는거야 소스 파일에서 읽기 및 쓰기 580 00:31:20,620 --> 00:31:22,160 대상 파일에. 581 00:31:22,160 --> 00:31:24,510 >> 그리고 마지막은 무엇인가 의사의 라인? 582 00:31:24,510 --> 00:31:26,380 주어지지하는 사람 내가 뭔가 아직. 583 00:31:26,380 --> 00:31:29,270 584 00:31:29,270 --> 00:31:30,260 >> 학생 17 : 파일을 닫습니다? 585 00:31:30,260 --> 00:31:31,510 >> 제이슨 허쉬 호른 : 그렇지. 586 00:31:31,510 --> 00:31:36,370 587 00:31:36,370 --> 00:31:37,450 파일을 닫습니다. 588 00:31:37,450 --> 00:31:38,400 그래서 우리의 의사가있다. 589 00:31:38,400 --> 00:31:41,870 나는에 의사를 넣을거야 gedit를, 그리고 몇 분에 우리 590 00:31:41,870 --> 00:31:44,626 함께이 코드를합니다. 591 00:31:44,626 --> 00:33:55,280 592 00:33:55,280 --> 00:33:56,000 >> OK. 593 00:33:56,000 --> 00:33:58,290 우리는 그룹으로 시작하자. 594 00:33:58,290 --> 00:33:59,940 Nishant, 내 새로운 파일이 있습니다. 595 00:33:59,940 --> 00:34:01,130 난 그냥이를 열었습니다. 596 00:34:01,130 --> 00:34:01,880 제목 없음 자료 1. 597 00:34:01,880 --> 00:34:05,490 내가해야 할 첫 번째 일이 무엇입니까? 598 00:34:05,490 --> 00:34:07,040 >> NISHANT : 라이브러리를 포함? 599 00:34:07,040 --> 00:34:08,219 >> 제이슨 허쉬 호른 : OK. 600 00:34:08,219 --> 00:34:11,070 어떤 라이브러리? 601 00:34:11,070 --> 00:34:17,570 >> NISHANT : STDIO.H, 인 stdlib.h, 저는 믿습니다? 602 00:34:17,570 --> 00:34:18,000 >> 제이슨 허쉬 호른 : OK. 603 00:34:18,000 --> 00:34:21,592 에 대한 표준 라이브러리는 무엇입니까? 604 00:34:21,592 --> 00:34:23,010 >> NISHANT : 나는 잊었다. 605 00:34:23,010 --> 00:34:23,219 >> 제이슨 허쉬 호른 : OK. 606 00:34:23,219 --> 00:34:24,179 그래서 표준 입출력 (가) 있습니다. 607 00:34:24,179 --> 00:34:28,630 난 전에 무엇을해야합니까 나는 코딩을 시작? 608 00:34:28,630 --> 00:34:29,710 >> NISHANT : 헤더를 쓰기? 609 00:34:29,710 --> 00:34:31,830 >> 제이슨 허쉬 호른 방법 : 그것은 색깔의 내가합니까? 610 00:34:31,830 --> 00:34:34,060 >> [개재 목소리] 611 00:34:34,060 --> 00:34:35,040 >> NISHANT : 어떻게 당신이 색깔받을 수 있나요? 612 00:34:35,040 --> 00:34:38,060 >> 제이슨 허쉬 호른 방법 : 나는 색 구분합니까? 613 00:34:38,060 --> 00:34:38,570 >> NISHANT : 모르겠어요. 614 00:34:38,570 --> 00:34:38,830 오. 615 00:34:38,830 --> 00:34:39,389 저장합니다. 616 00:34:39,389 --> 00:34:39,929 >> 제이슨 허쉬 호른 : 저장합니다. 617 00:34:39,929 --> 00:34:40,270 예. 618 00:34:40,270 --> 00:34:41,760 나는. C로 저장해야합니다. 619 00:34:41,760 --> 00:34:46,239 그래서 cp.c.로 바탕 화면에 저장 620 00:34:46,239 --> 00:34:47,280 달콤한. 621 00:34:47,280 --> 00:34:51,199 그리고 전체 스타일을 얻으려면 점, 무엇을해야 하나 622 00:34:51,199 --> 00:34:53,085 상단에 포함되어 있습니까? 623 00:34:53,085 --> 00:34:58,390 >> NISHANT : 당신은 당신의 이름, 이름을 쓸 수 프로그램 및 목적 624 00:34:58,390 --> 00:34:59,640 뿐만 아니라 프로그램의? 625 00:34:59,640 --> 00:35:08,400 626 00:35:08,400 --> 00:35:10,040 >> 제이슨 허쉬 호른은 : 좋은 보인다. 627 00:35:10,040 --> 00:35:10,470 우수. 628 00:35:10,470 --> 00:35:12,940 그래서 당신은 완벽하게 우리를 시작했습니다. 629 00:35:12,940 --> 00:35:13,720 # 포함 - 630 00:35:13,720 --> 00:35:15,365 우리는 또한 다음과 같이 작성할 수 있습니다 - 631 00:35:15,365 --> 00:35:30,050 632 00:35:30,050 --> 00:35:30,870 OK. 633 00:35:30,870 --> 00:35:33,520 그래서 난 내가 모든것을 셋팅 것 같아요. 634 00:35:33,520 --> 00:35:38,003 누가 나를 위해 코드의 첫 번째 라인을 가지고 - 또는 코드의 첫 번째 줄 것을 635 00:35:38,003 --> 00:35:41,280 그것은 우리의 첫 번째를 충족하기 위해 취할 것 의사의 의견? 636 00:35:41,280 --> 00:35:41,985 당신. 637 00:35:41,985 --> 00:35:48,780 >> 학생 18 : 그것은 INT 있어야하지 ARGC, 다음 문자 * ARGV? 638 00:35:48,780 --> 00:35:49,490 >> 제이슨 허쉬 호른 : 내가 생각하는 당신 말이 맞아. 639 00:35:49,490 --> 00:35:56,270 의는 주, 열린 괄호를 int로 변경하자, INT의 ARGC, 쉼표, char *로 변수는 argv? 640 00:35:56,270 --> 00:35:57,150 그 마음에 드 셨나요? 641 00:35:57,150 --> 00:35:57,410 >> 학생 18 : 브래킷. 642 00:35:57,410 --> 00:35:58,260 >> 제이슨 허쉬 호른 : 브래킷. 643 00:35:58,260 --> 00:35:59,860 오픈 브래킷, 대괄호, 가까운 부모. 644 00:35:59,860 --> 00:36:00,240 완벽한. 645 00:36:00,240 --> 00:36:02,160 지금은 명령 줄 인수를 취할 수 있습니다. 646 00:36:02,160 --> 00:36:02,430 OK. 647 00:36:02,430 --> 00:36:04,250 우리는 두 개의 파일을 제공하고 있는지 확인합니다. 648 00:36:04,250 --> 00:36:07,905 당신은뿐만 아니라 나에게 그것을 줄 수 있습니다. 649 00:36:07,905 --> 00:36:09,180 >> 학생 18 : ARGC 경우 - 650 00:36:09,180 --> 00:36:11,060 이 하나는 3와 동일하지 않습니다. 651 00:36:11,060 --> 00:36:14,360 >> 제이슨 허쉬 호른 : 만약 열린 괄호 3 ARGC이 동일하지 않는 이유는 무엇입니까? 652 00:36:14,360 --> 00:36:16,970 >> 학생 18 : 그래, 당신은 돌려 1 또는 아무것도. 653 00:36:16,970 --> 00:36:17,460 >> 제이슨 허쉬 호른 : 죄송합니다. 654 00:36:17,460 --> 00:36:19,120 >> 학생 18 : 반환 1 또는 아무것도. 655 00:36:19,120 --> 00:36:20,270 >> 제이슨 허쉬 호른 : 1을 반환합니다. 656 00:36:20,270 --> 00:36:22,230 OK? 657 00:36:22,230 --> 00:36:22,970 좋아요. 658 00:36:22,970 --> 00:36:24,290 두 파일을 엽니 다. 659 00:36:24,290 --> 00:36:26,160 누가 나에게이 두 파일을 열 수 있습니다? 660 00:36:26,160 --> 00:36:28,125 누구는 아직 나에게 코드를 작성하지 않았습니다? 661 00:36:28,125 --> 00:36:31,510 662 00:36:31,510 --> 00:36:32,320 커트? 663 00:36:32,320 --> 00:36:36,145 >> KURT : 그래서 모두 대문자 F-I-L-E 스타 소스. 664 00:36:36,145 --> 00:36:39,390 665 00:36:39,390 --> 00:36:40,920 >> 제이슨 허쉬 호른 : 나는 갈거야 모음을 촬영합니다. 666 00:36:40,920 --> 00:36:41,570 사람들은 근사합니다. 667 00:36:41,570 --> 00:36:42,716 그것은 텀블러처럼. 668 00:36:42,716 --> 00:36:44,610 >> 학생 18 : fopen을 같음 - 669 00:36:44,610 --> 00:36:46,612 >> 제이슨 허쉬 호른 : fopen을 같음? 670 00:36:46,612 --> 00:36:49,870 >> 학생 18 : 오픈 괄호, ARGV 오픈 브라켓. 671 00:36:49,870 --> 00:36:50,055 >> 제이슨 허쉬 호른 : 잠깐. 672 00:36:50,055 --> 00:36:50,240 미안 해요. 673 00:36:50,240 --> 00:36:51,050 열기 괄호. 674 00:36:51,050 --> 00:36:51,456 OK. 675 00:36:51,456 --> 00:36:53,080 >> 학생 18 : 그래. 676 00:36:53,080 --> 00:36:55,110 ARGV 하위 1. 677 00:36:55,110 --> 00:36:55,860 >> 제이슨 허쉬 호른 : 하위 1? 678 00:36:55,860 --> 00:36:56,140 >> 학생 18 : 그래. 679 00:36:56,140 --> 00:36:58,540 ARGV 오픈 브래킷 1 - 680 00:36:58,540 --> 00:36:59,730 예. 681 00:36:59,730 --> 00:37:06,470 그리고 쉼표, 다음 열기를 두 번 견적, R, 큰 따옴표, 682 00:37:06,470 --> 00:37:08,250 닫기 괄호, 세미콜론. 683 00:37:08,250 --> 00:37:09,450 >> 제이슨 허쉬 호른 : 스위트. 684 00:37:09,450 --> 00:37:10,950 그리고 어떤 다른 하나는? 685 00:37:10,950 --> 00:37:16,030 >> 학생 18 : 매우 유사하지만, 대신 S-R-C, 당신은 D-S-T를 호출 할 것입니다. 686 00:37:16,030 --> 00:37:17,060 >> 제이슨 허쉬 호른 : 됐지! 687 00:37:17,060 --> 00:37:17,772 나는 그것을 좋아한다. 688 00:37:17,772 --> 00:37:20,010 >> 학생 18 : 그냥 D-S-T. 그래. 689 00:37:20,010 --> 00:37:23,057 그리고, 2 오픈 브래킷을 argv를. 690 00:37:23,057 --> 00:37:23,200 그래. 691 00:37:23,200 --> 00:37:26,720 그리고 w 대신 R. 692 00:37:26,720 --> 00:37:27,620 그래. 693 00:37:27,620 --> 00:37:29,630 >> 제이슨 허쉬 호른 : 지금. 694 00:37:29,630 --> 00:37:31,360 라인의 다음 커플. 695 00:37:31,360 --> 00:37:34,040 또한, 누구는 추가 정보가있는 경우 우리가 한 라인에 부담 696 00:37:34,040 --> 00:37:35,690 뿐만 아니라 사람들을 추가합니다. 697 00:37:35,690 --> 00:37:37,520 확실히 어느 쪽도 NULL입니다 확인하십시오. 698 00:37:37,520 --> 00:37:41,450 누가 나에게 내가 필요로하는 코드를 제공 할 수 있습니다 의사의 라인을 만족? 699 00:37:41,450 --> 00:37:44,430 700 00:37:44,430 --> 00:37:45,870 아처. 701 00:37:45,870 --> 00:37:58,645 >> 아처 : SRC는 등호 같으면 NULL 또는 DST는 등호와 동일 702 00:37:58,645 --> 00:38:04,590 NULL, 당신은 반환 - 703 00:38:04,590 --> 00:38:07,130 704 00:38:07,130 --> 00:38:07,976 >> 제이슨 허쉬 호른 : 무엇? 705 00:38:07,976 --> 00:38:08,890 >> 아처 : 2를 반환? 706 00:38:08,890 --> 00:38:09,760 >> 제이슨 허쉬 호른 2를 반환합니다. 707 00:38:09,760 --> 00:38:14,400 그래서 열린 괄호의 SRC가 동일한 경우 NULL 동일, 또는 - 708 00:38:14,400 --> 00:38:15,590 그 thing's 무엇이든 - 파이프? 709 00:38:15,590 --> 00:38:16,346 관? 710 00:38:16,346 --> 00:38:17,140 우리는 파이프를 호출합니다. 711 00:38:17,140 --> 00:38:22,340 파이프, 파이프, DST는 등호와 동일 NULL, 2를 반환합니다. 712 00:38:22,340 --> 00:38:23,900 OK? 713 00:38:23,900 --> 00:38:26,060 우리는 바이트 아웃 될 때까지 - 714 00:38:26,060 --> 00:38:29,820 우리는 종류의에서이 단계를 건너 뛸 여기까지 진행에 대한 의사 코드의 일부입니다. 715 00:38:29,820 --> 00:38:31,970 >> 그러나 때까지 우리는 바이트 중입니다 - 그 소리는 같은 무엇을합니까? 716 00:38:31,970 --> 00:38:34,680 C 구조의 유형 - 717 00:38:34,680 --> 00:38:36,160 하지만 단어의 구조를 사용하지 않는, 우리는 사용하기 시작하는 것입니다 때문에 718 00:38:36,160 --> 00:38:37,350 다른 경우에 - 719 00:38:37,350 --> 00:38:39,495 하지만 C 도구처럼 소리를합니까? 720 00:38:39,495 --> 00:38:39,970 >> 학생 19 : 루프. 721 00:38:39,970 --> 00:38:40,980 >> 제이슨 허쉬 호른 : 루프. 722 00:38:40,980 --> 00:38:43,060 루프 같은 소리. 723 00:38:43,060 --> 00:38:49,670 그럼 누가 나에게 첫 번째 라인을 제공 할 수 있습니다 바로 여기에 루프 코드? 724 00:38:49,670 --> 00:38:56,320 725 00:38:56,320 --> 00:39:01,980 당신은 또한 선택할 수있는 종류의 당신이 나에게주는 경우 루프 당신이 원하는 726 00:39:01,980 --> 00:39:03,215 이 코드 줄. 727 00:39:03,215 --> 00:39:04,150 3 종류가 있습니다. 728 00:39:04,150 --> 00:39:06,530 당신은 선택하세요. 729 00:39:06,530 --> 00:39:08,080 나는 그 중 하나를 제안했다. 730 00:39:08,080 --> 00:39:08,410 아비. 731 00:39:08,410 --> 00:39:09,230 당신은 어느 쪽을 원하세요? 732 00:39:09,230 --> 00:39:09,960 >> AVI : FOR. 733 00:39:09,960 --> 00:39:11,460 >> 제이슨 허쉬 호른 : FOR. 734 00:39:11,460 --> 00:39:15,180 >> AVI : 나는 = 0에서 Int. 735 00:39:15,180 --> 00:39:17,360 >> 제이슨 허쉬 호른 : OK. 736 00:39:17,360 --> 00:39:18,570 >> AVI : 나는 확실하지 않다이 부분. 737 00:39:18,570 --> 00:39:29,080 하지만 난 크기보다 작은 스타 소스? 738 00:39:29,080 --> 00:39:31,128 나는 그 모르겠어요. 739 00:39:31,128 --> 00:39:32,580 >> 제이슨 허쉬 호른 : OK. 740 00:39:32,580 --> 00:39:35,870 >> 당신이 원하는 때문에 : AVI 파일의 크기, 오른쪽? 741 00:39:35,870 --> 00:39:41,090 >> 제이슨 허쉬 호른 : 그래서 이것은 아마하지 않습니다 우리에게 실제의 크기를 줄 742 00:39:41,090 --> 00:39:43,010 바이트 파일. 743 00:39:43,010 --> 00:39:47,680 그래서 우리는 다른 무엇을 할 수 있을까? 744 00:39:47,680 --> 00:39:48,810 루프의 또 다른 유형은 무엇입니까? 745 00:39:48,810 --> 00:39:50,180 또는 우리는 FOR 루프에 충실해야한다고? 746 00:39:50,180 --> 00:39:55,350 747 00:39:55,350 --> 00:39:57,900 >> 학생 20 : 당신은 WHILE 루프를 할 수 있나요? 748 00:39:57,900 --> 00:40:01,350 그리고, 당신이 할 줄은왔다 갔다 했군요입니다 - 749 00:40:01,350 --> 00:40:03,930 우리는 파일에 대한 문자 *를 가지고 있기 때문에. 750 00:40:03,930 --> 00:40:07,950 우리는 단지 증가 계속 그렇다면 그 우리는 NULL 문자에서 찾아 낼 줄 때까지 751 00:40:07,950 --> 00:40:08,500 그것의 끝? 752 00:40:08,500 --> 00:40:11,130 또는 NO, 파일이 방법을 작동하지 것입니다? 753 00:40:11,130 --> 00:40:14,300 >> 제이슨 허쉬 호른 : 그래서 우리가 유지할 수 있습니다 * 문자를 증가 754 00:40:14,300 --> 00:40:16,340 우리는 NULL을 찾을 때까지 - 755 00:40:16,340 --> 00:40:18,580 >> 학생 20 : 기본적으로 계속 문자 단위로 우리가 공격 할 때까지 756 00:40:18,580 --> 00:40:21,250 파일의 끝에. 757 00:40:21,250 --> 00:40:21,600 >> 제이슨 허쉬 호른 : 예. 758 00:40:21,600 --> 00:40:22,560 그래서 우리가하려는 것입니다. 759 00:40:22,560 --> 00:40:24,545 우리는 독서, 문자를 유지하려면 문자로, 우리는에 도달 할 때까지 760 00:40:24,545 --> 00:40:25,080 파일의 끝에. 761 00:40:25,080 --> 00:40:25,375 >> 학생 20 : 네. 762 00:40:25,375 --> 00:40:25,860 찾기 - 763 00:40:25,860 --> 00:40:28,540 종료 또는 정지 신호는 무엇입니까 텍스트 파일의 끝에. 764 00:40:28,540 --> 00:40:28,620 >> 제이슨 허쉬 호른 : OK. 765 00:40:28,620 --> 00:40:30,140 그래서 우리는 파일의 끝에 얻을 때 - 우리는 어떻게 우리가 도달했습니다 알고 766 00:40:30,140 --> 00:40:33,200 파일의 끝에? 767 00:40:33,200 --> 00:40:34,710 내가 전화 했어 경우 -보기 768 00:40:34,710 --> 00:40:35,910 그래서 다시 단계를 보자. 769 00:40:35,910 --> 00:40:37,550 기능은 무엇입니까? 770 00:40:37,550 --> 00:40:39,360 의 바로 여기이 선에 가자. 771 00:40:39,360 --> 00:40:40,630 소스 파일에서 읽습니다. 772 00:40:40,630 --> 00:40:41,880 누가 나에게 코드 줄을 줄 수 있습니까? 773 00:40:41,880 --> 00:40:45,592 774 00:40:45,592 --> 00:40:47,590 >> 학생 21 : Fscanf? 775 00:40:47,590 --> 00:40:49,110 >> 제이슨 허쉬 호른 : Fscanf. 776 00:40:49,110 --> 00:40:49,510 OK. 777 00:40:49,510 --> 00:40:52,240 내가 읽고 싶은 경우, 매우 즉, 한 바이트? 778 00:40:52,240 --> 00:40:55,012 779 00:40:55,012 --> 00:40:56,860 >> 학생 21 : 모르겠어요. 780 00:40:56,860 --> 00:40:57,110 >> 제이슨 허쉬 호른 : OK. 781 00:40:57,110 --> 00:40:59,380 fscanf보다 간단한 - 무엇인가 - 782 00:40:59,380 --> 00:41:01,890 나는 소스 파일에서 읽고 싶어? 783 00:41:01,890 --> 00:41:03,720 소스 파일에서 읽습니다. 784 00:41:03,720 --> 00:41:04,850 기능은 무엇입니까 - 네. 785 00:41:04,850 --> 00:41:05,380 >> 학생 22 : 그것은 FREAD입니까? 786 00:41:05,380 --> 00:41:06,070 >> 제이슨 허쉬 호른 : FREAD. 787 00:41:06,070 --> 00:41:07,550 나는 이제 고집 할 생각 지금은 하나. 788 00:41:07,550 --> 00:41:10,380 789 00:41:10,380 --> 00:41:13,650 인수의 종류 FREAD 걸립니까? 790 00:41:13,650 --> 00:41:17,410 >> 학생 22 : 아마 파일 형식, 다음 파일의 위치? 791 00:41:17,410 --> 00:41:19,550 >> 제이슨 허쉬 호른 : 무엇을 나는 여기에 입력 할 수 있습니다 파악하는 인수의 유형 792 00:41:19,550 --> 00:41:20,950 FREAD 걸립니다? 793 00:41:20,950 --> 00:41:23,710 >> 다중 학생 : 남자 FREAD. 794 00:41:23,710 --> 00:41:24,740 >> 제이슨 허쉬 호른 : 남자 을 fread 및 fwrite는. 795 00:41:24,740 --> 00:41:25,980 그들이 함께 놀 것 같습니다. 796 00:41:25,980 --> 00:41:29,589 그래서 FREAD 얼마나 많은 인수를? 797 00:41:29,589 --> 00:41:30,920 >> 학생 23 : 4. 798 00:41:30,920 --> 00:41:32,690 >> 제이슨 허쉬 호른 : 그것은 걸립니다 네 개의 인수. 799 00:41:32,690 --> 00:41:41,100 그것은 포인터 크기를 받아, 그 이상한 것은, 일부 파일. 800 00:41:41,100 --> 00:41:42,000 OK? 801 00:41:42,000 --> 00:41:43,990 이제 여기에 대해 읽어 보자. 802 00:41:43,990 --> 00:41:49,370 "기능을 fread는 n 개의 MEMB를 읽고 데이터 요소, 각 크기 바이트 803 00:41:49,370 --> 00:41:53,840 긴 스트림에서가 가리키는 위치에 그들을 저장, 스트리밍 804 00:41:53,840 --> 00:41:56,170 포인터가 없습니다. " 805 00:41:56,170 --> 00:41:57,960 >> 그래서 네 개의 인수. 806 00:41:57,960 --> 00:42:04,510 내가 왜 이걸 복사하지 마십시오, 바로 여기에 붙여 넣습니다. 807 00:42:04,510 --> 00:42:10,060 808 00:42:10,060 --> 00:42:10,770 OK. 809 00:42:10,770 --> 00:42:13,673 그럼 누가 작성을 시작할 수 있습니다 나를 위해이 인수? 810 00:42:13,673 --> 00:42:15,840 아비. 811 00:42:15,840 --> 00:42:17,720 >> AVI : 무효을 가져 가라. 812 00:42:17,720 --> 00:42:20,530 단지 SRC를 넣어. 813 00:42:20,530 --> 00:42:23,142 포인터와 별을보십시오. 814 00:42:23,142 --> 00:42:26,102 SRC를 넣어. 815 00:42:26,102 --> 00:42:27,050 다음 - 816 00:42:27,050 --> 00:42:28,500 >> 제이슨 허쉬 호른 : 그래서 그만거야 거기에, 그 잘못 때문에. 817 00:42:28,500 --> 00:42:32,590 818 00:42:32,590 --> 00:42:34,710 당신은 SRC와 맞아,하지만 SRC 어디를 가야하나요? 819 00:42:34,710 --> 00:42:35,960 >> [개재 목소리] 820 00:42:35,960 --> 00:42:38,976 821 00:42:38,976 --> 00:42:41,610 >> 제이슨 허쉬 호른 : 그것은해야 여기에 이​​동합니다. 822 00:42:41,610 --> 00:42:43,790 즉, SRC의 - 우리의 SRC는 유형입니다. 823 00:42:43,790 --> 00:42:44,610 여기서 살펴 보자. 824 00:42:44,610 --> 00:42:49,610 이 FILE * 유형을 요청, 우리 실제로 보통 그런 그들을 참조하십시오. 825 00:42:49,610 --> 00:42:57,630 그래서이의 인수를 요구한다 * SRC 불리는 스트림을 파일을 입력합니다. 826 00:42:57,630 --> 00:42:58,480 OK? 827 00:42:58,480 --> 00:43:00,410 >> 관광 명​​소 어떤 크기 우리가 읽고 싶어? 828 00:43:00,410 --> 00:43:03,340 나는 당신에게이 준 문제 설명을 표시합니다. 829 00:43:03,340 --> 00:43:04,370 >> 학생 24 : 한 번에 한 바이트. 830 00:43:04,370 --> 00:43:05,340 >> 제이슨 허쉬 호른 : 한 바이트. 831 00:43:05,340 --> 00:43:08,205 바이트는 어느 정도입니까? 832 00:43:08,205 --> 00:43:11,642 그 크기는 바이트, 그래서 무엇을 나는 바로 거기에 넣을 수 있습니다? 833 00:43:11,642 --> 00:43:12,910 >> 학생 25 : 한. 834 00:43:12,910 --> 00:43:14,730 >> 제이슨 허쉬 호른 : 한. 835 00:43:14,730 --> 00:43:17,020 오른쪽. 836 00:43:17,020 --> 00:43:19,940 그 크기는 단위 바이트에, 그래서 1은 1 바이트입니다. 837 00:43:19,940 --> 00:43:22,284 한 번에 읽는 방법을 많은 싶어. 838 00:43:22,284 --> 00:43:23,520 >> 학생 26 : 하나? 839 00:43:23,520 --> 00:43:24,270 >> 제이슨 허쉬 호른 : 한 가지. 840 00:43:24,270 --> 00:43:28,540 나는 사이즈의 물건을 읽을 수 한 번에 한 바이트. 841 00:43:28,540 --> 00:43:32,110 나는 그것을 읽어 일단 어디 그것을 배치해야합니까? 842 00:43:32,110 --> 00:43:35,050 843 00:43:35,050 --> 00:43:36,510 >> 학생 27 : 목적지? 844 00:43:36,510 --> 00:43:39,270 >> 제이슨 허쉬 호른 : 그래서 둘 수 없다 그것은 바로 목적지로. 845 00:43:39,270 --> 00:43:40,800 >> 학생 28 : 당신은 들어갈 거 그것은 세 번째 포인터로? 846 00:43:40,800 --> 00:43:41,780 >> 학생 27 : 목적지에. 847 00:43:41,780 --> 00:43:42,270 >> 제이슨 허쉬 호른 : OK. 848 00:43:42,270 --> 00:43:42,630 그래. 849 00:43:42,630 --> 00:43:46,820 >> 학생 29 : 당신이 뭔가를 선언 할 수 있습니다 임시 저장 이전에 역할을합니다. 850 00:43:46,820 --> 00:43:47,350 >> 제이슨 허쉬 호른 : OK. 851 00:43:47,350 --> 00:43:50,080 나에게 줘. 852 00:43:50,080 --> 00:43:53,930 >> 학생 29 : 다른 파일 포인터, 아마? 853 00:43:53,930 --> 00:43:54,220 >> 제이슨 허쉬 호른 : OK. 854 00:43:54,220 --> 00:43:55,585 그래서이 무효 성입니다 - 855 00:43:55,585 --> 00:43:57,750 그것은 형식 무효 성, 그래서 그렇지 않습니다 파일 포인터해야합니다. 856 00:43:57,750 --> 00:44:02,520 그리고 한 바이트를 읽고 있어요 경우, 좋은 장소가 될 것 인 857 00:44:02,520 --> 00:44:03,850 한 바이트를 저장하는 방법? 858 00:44:03,850 --> 00:44:04,660 >> 학생 29 : 배열? 859 00:44:04,660 --> 00:44:05,770 >> 제이슨 허쉬 호른 : 배열입니다. 860 00:44:05,770 --> 00:44:07,730 OK. 861 00:44:07,730 --> 00:44:14,040 그리고 뭔가 다른 것입니다 한 바이트의 크기를? 862 00:44:14,040 --> 00:44:16,980 863 00:44:16,980 --> 00:44:18,060 >> 학생 30 : 문자 *? 864 00:44:18,060 --> 00:44:18,530 >> 학생 29 : 그래. 865 00:44:18,530 --> 00:44:19,880 >> 제이슨 허쉬 호른 : 문자 * 1 바이트 아니다. 866 00:44:19,880 --> 00:44:20,440 >> 학생 29 : 문자. 867 00:44:20,440 --> 00:44:21,810 >> 제이슨 허쉬 호른 : 문자는 1 바이트. 868 00:44:21,810 --> 00:44:22,920 오른쪽? 869 00:44:22,920 --> 00:44:26,740 그럼이 버퍼를 호출 할 수 있도록하는 것은 일반적인 것입니다 저장하는 이러한 것들에 사용 된 이름 870 00:44:26,740 --> 00:44:27,910 뭔가 일시적으로. 871 00:44:27,910 --> 00:44:30,880 그래서 버퍼를 만들 수 있습니다. 872 00:44:30,880 --> 00:44:31,150 오른쪽? 873 00:44:31,150 --> 00:44:32,990 그러나 그것은 * 무효을 않습니다. 874 00:44:32,990 --> 00:44:38,660 아마 당신은 맞다 그것이 크기 0의 버퍼해야한다. 875 00:44:38,660 --> 00:44:41,070 그래서 하나를 저장합니다 - 876 00:44:41,070 --> 00:44:41,280 권리. 877 00:44:41,280 --> 00:44:43,560 >> 때문에 바로이 - 문자 버퍼는 문자입니다 만, 878 00:44:43,560 --> 00:44:45,110 이 * 빈 공간을합니다 - 879 00:44:45,110 --> 00:44:45,870 포인터. 880 00:44:45,870 --> 00:44:50,640 그래서 지금은이 작업을 수행 할 수 버퍼에 대한 포인터입니다. 881 00:44:50,640 --> 00:44:53,214 나는 다른 무엇을 할 수 있을까? 882 00:44:53,214 --> 00:44:55,775 >> 학생 31 : 숯불 옆에 별표를 넣습니다. 883 00:44:55,775 --> 00:44:58,380 >> 제이슨 허쉬 호른 : 나는 할 수 이 * 숯불 만들었습니다. 884 00:44:58,380 --> 00:45:00,216 OK. 885 00:45:00,216 --> 00:45:03,131 내가 할 수있는 또 다른 점은 무엇입니까? 886 00:45:03,131 --> 00:45:04,050 나의이 하나 가자. 887 00:45:04,050 --> 00:45:05,740 숯불 * 버퍼, 그래서 여기에 넣을까요? 888 00:45:05,740 --> 00:45:08,290 889 00:45:08,290 --> 00:45:09,310 >> 학생 31 : 버퍼. 890 00:45:09,310 --> 00:45:10,560 >> 제이슨 허쉬 호른 : 버퍼. 891 00:45:10,560 --> 00:45:12,640 892 00:45:12,640 --> 00:45:14,500 버퍼는 문자에 대한 포인터입니다. 893 00:45:14,500 --> 00:45:19,480 그리고 그 위치에, 우리는 려구요 우리가 읽은 것을 1 바이트. 894 00:45:19,480 --> 00:45:19,980 그래. 895 00:45:19,980 --> 00:45:20,700 아비. 896 00:45:20,700 --> 00:45:21,230 >> AVI : 그냥 빠른 질문. 897 00:45:21,230 --> 00:45:24,440 당신은 버퍼를 MALLOC 하시겠습니까? 898 00:45:24,440 --> 00:45:25,930 >> 제이슨 허쉬 호른 : 수 그 질문에 대답? 899 00:45:25,930 --> 00:45:30,210 >> 학생 32 : 글쎄, 그것은하지 않습니다 정말 지금 무엇을 가리키고, 그래서 - 900 00:45:30,210 --> 00:45:32,610 >> 제이슨 허쉬 호른 :하지만 할 우리는 그것을 MALLOC 싶어? 901 00:45:32,610 --> 00:45:35,600 >> 학생 32 : 당신은 그것을 수행하는 경우 그 당신이 필요로하는 것 때문에 방법, 나는, 그래, 추측 902 00:45:35,600 --> 00:45:36,990 그것은 가리하는 곳. 903 00:45:36,990 --> 00:45:38,350 >> 제이슨 허쉬 호른 : 우리를 수행 그것을 MALLOC해야? 904 00:45:38,350 --> 00:45:40,580 >> 학생 33 : 당신은에가는 경우 루프의 외부에 사용합니다. 905 00:45:40,580 --> 00:45:42,524 >> 제이슨 허쉬 호른 : 우리는 갈거야 루프 외부에서 사용? 906 00:45:42,524 --> 00:45:44,392 >> 학생 34 : 예. 907 00:45:44,392 --> 00:45:44,860 >> 학생 35 : 잠깐. 908 00:45:44,860 --> 00:45:46,980 우리는 그것을 선언 할 마십시오 이후에 루프? 909 00:45:46,980 --> 00:45:50,100 >> 제이슨 허쉬 호른 : 그래서 우리가 생각 여기에 우리가있어 몇 가지 의사 WHILE 루프 910 00:45:50,100 --> 00:45:51,950 , 알아 내려고 노력하는 우리는 아직까지 못 했어. 911 00:45:51,950 --> 00:45:54,710 912 00:45:54,710 --> 00:45:56,010 우리는 그것을 MALLOC 할 필요가 없습니다. 913 00:45:56,010 --> 00:45:59,310 우리는 주에서 운영하고, 그것은 단지거야 이 루프 내에서 사용합니다. 914 00:45:59,310 --> 00:46:00,540 그것은 존재 할 필요가 없습니다 이 밖에. 915 00:46:00,540 --> 00:46:02,340 >> 그래서 지역 변수가 될 수 있습니다. 916 00:46:02,340 --> 00:46:03,925 당신은 포인터가 지역 변수. 917 00:46:03,925 --> 00:46:07,984 918 00:46:07,984 --> 00:46:09,590 >> 학생 36 :하지만 아니에요 무엇을 가리키는. 919 00:46:09,590 --> 00:46:11,540 >> 제이슨 허쉬 호른 : 아니, 아니다 아무것도 초기화. 920 00:46:11,540 --> 00:46:12,790 그러나 우리는 또한 사용하지 않을거야. 921 00:46:12,790 --> 00:46:15,300 우리는 뭔가를 넣어거야 그것은 처음 우리가 그것을 사용할 수 있습니다. 922 00:46:15,300 --> 00:46:16,580 그래서 OK 보인다. 923 00:46:16,580 --> 00:46:17,780 그래서 우리는 여기에 malloc에​​ 필요하지 않습니다. 924 00:46:17,780 --> 00:46:19,360 그리고 그대로 확인을 생각합니다. 925 00:46:19,360 --> 00:46:24,350 926 00:46:24,350 --> 00:46:25,790 OK. 927 00:46:25,790 --> 00:46:27,190 우리는 FREAD 라인. 928 00:46:27,190 --> 00:46:28,490 의 다음 줄을하자. 929 00:46:28,490 --> 00:46:32,984 >> 우리가 파일에 쓰고 싶은 경우, 무엇인가 그렇게하는 데 사용할 수있는 좋은 기능? 930 00:46:32,984 --> 00:46:33,770 >> 학생 37 : fwrite는? 931 00:46:33,770 --> 00:46:35,140 >> 학생 38 : fprintf와? 932 00:46:35,140 --> 00:46:36,010 >> 제이슨 허쉬 호른 : fprintf와는 하나입니다. 933 00:46:36,010 --> 00:46:37,260 또 다른 하나는 무엇입니까? 934 00:46:37,260 --> 00:46:37,680 >> 학생 39 : fwrite는. 935 00:46:37,680 --> 00:46:38,510 >> 제이슨 허쉬 호른 : fwrite는. 936 00:46:38,510 --> 00:46:41,250 그리고 우리의 목적을 위해, fwrite는, 우리가 여기에서보고있는 것입니다 937 00:46:41,250 --> 00:46:42,500 아마 더 나은 선택. 938 00:46:42,500 --> 00:46:51,970 939 00:46:51,970 --> 00:46:53,950 그것은뿐만 아니라 네 개의 인수를 취합니다. 940 00:46:53,950 --> 00:46:57,570 Nishant, 당신은 줄 수 인수 나? 941 00:46:57,570 --> 00:47:00,570 >> NISHANT : 첫 번째의가는 다만 버퍼합니다. 942 00:47:00,570 --> 00:47:02,210 >> 제이슨 허쉬 호른 : OK. 943 00:47:02,210 --> 00:47:06,752 >> NISHANT : 두 번째의 다만 1이 될 것. 944 00:47:06,752 --> 00:47:09,510 세번째는 1이 될 것. 945 00:47:09,510 --> 00:47:11,470 그리고 네 번째는 DST가 될 것입니다. 946 00:47:11,470 --> 00:47:18,010 947 00:47:18,010 --> 00:47:19,550 >> 제이슨 허쉬 호른 : 사람이 있습니까 그 라인에 대한 질문? 948 00:47:19,550 --> 00:47:28,370 949 00:47:28,370 --> 00:47:29,130 즉, 좋아 보인다. 950 00:47:29,130 --> 00:47:29,590 OK. 951 00:47:29,590 --> 00:47:34,250 그래서 지금 우리가하고있는 한 가지처럼 보이는 누락 - 사실의 작성하자 952 00:47:34,250 --> 00:47:35,090 이 마지막 줄. 953 00:47:35,090 --> 00:47:36,300 파일을 닫습니다. 954 00:47:36,300 --> 00:47:38,880 누가 기록을 우리를 완료 할 수있다 이 마지막 두 줄? 955 00:47:38,880 --> 00:47:39,120 예. 956 00:47:39,120 --> 00:47:39,850 죄송합니다, 당신의 이름은 무엇입니까? 957 00:47:39,850 --> 00:47:40,580 >> 루시 : 루시. 958 00:47:40,580 --> 00:47:41,580 >> 제이슨 허쉬 호른 : 루시. 959 00:47:41,580 --> 00:47:47,560 >> 루시 : 다음 FCLOSE SRC와 fclose를 대상. 960 00:47:47,560 --> 00:47:52,430 >> 제이슨 허쉬 호른 : FCLOSE, 열린 괄호, SRC, 닫기 괄호, 세미콜론. 961 00:47:52,430 --> 00:47:53,680 그리고 fclose를 - 962 00:47:53,680 --> 00:47:57,560 963 00:47:57,560 --> 00:47:58,090 그래? 964 00:47:58,090 --> 00:48:01,710 >> 루시 : 열기 괄호, DST 다음 세미​​콜론. 965 00:48:01,710 --> 00:48:02,520 >> 제이슨 허쉬 호른 : 지금. 966 00:48:02,520 --> 00:48:04,338 그리고 끝에서 무엇을 포함해야합니까? 967 00:48:04,338 --> 00:48:05,210 >> 루시 : 0을 반환합니다. 968 00:48:05,210 --> 00:48:05,570 >> 제이슨 허쉬 호른 : 0을 반환합니다. 969 00:48:05,570 --> 00:48:06,820 내가해야합니까? 970 00:48:06,820 --> 00:48:10,560 971 00:48:10,560 --> 00:48:12,590 그냥 질문을합니다. 972 00:48:12,590 --> 00:48:14,957 우리는 반환 0을 포함해야합니까? 973 00:48:14,957 --> 00:48:16,240 >> 다중 학생 : 아니오. 974 00:48:16,240 --> 00:48:16,430 >> 제이슨 허쉬 호른 : 호 975 00:48:16,430 --> 00:48:18,090 홈페이지가 자동으로 수행 당신이 마지막에 도착합니다. 976 00:48:18,090 --> 00:48:20,580 하지만 난에 대한 좋은 생각 명시 적으로 포함한다. 977 00:48:20,580 --> 00:48:23,860 우리는 다른 반환하고, 특히 프로그램 전반에 걸쳐 일. 978 00:48:23,860 --> 00:48:24,810 OK. 979 00:48:24,810 --> 00:48:26,230 이것은 우리가 무엇을 놓치고 있는지입니다 - 980 00:48:26,230 --> 00:48:28,520 뭐라고? 981 00:48:28,520 --> 00:48:31,630 누가 몇 가지 생각할 수 있습니다 - 982 00:48:31,630 --> 00:48:35,240 의 어떤 의미가 무엇 일 거기에 갈 수 있을까? 983 00:48:35,240 --> 00:48:37,350 그냥 어떤 의사의 경우에도 언어와 같은? 984 00:48:37,350 --> 00:48:41,330 >> 우리는 정말 무엇인가 - 무엇을 우리는 때까지 가고 싶어? 985 00:48:41,330 --> 00:48:41,980 그래, 루시. 986 00:48:41,980 --> 00:48:43,240 >> 루시 : 파일의 끝입니다. 987 00:48:43,240 --> 00:48:44,990 >> 제이슨 허쉬 호른 : 파일의 끝입니다. 988 00:48:44,990 --> 00:48:49,280 그래서 당신은 파일의 마지막에 무엇을 의미합니까? 989 00:48:49,280 --> 00:48:50,955 >> 루시 : 당신이 도달하면 파일의 끝은 중지합니다. 990 00:48:50,955 --> 00:48:51,240 >> 제이슨 허쉬 호른 : OK. 991 00:48:51,240 --> 00:48:53,460 그래서 일단 우리는 파일의 끝에 도달한다. 992 00:48:53,460 --> 00:48:56,893 우리가 도달했을 때 우리는 어떻게 알 수 있습니까 파일 끝에? 993 00:48:56,893 --> 00:48:59,900 >> 학생 40 : 나는 버퍼를 생각한다 NULL로 설정됩니다. 994 00:48:59,900 --> 00:49:01,885 >> 학생 41 : 버퍼가 선언 루프 내부. 995 00:49:01,885 --> 00:49:03,670 >> 제이슨 허쉬 호른 : 그래서 당신은 생각한다 버퍼가 NULL로 설정됩니다. 996 00:49:03,670 --> 00:49:05,850 왜 NULL로 설정 버퍼까요? 997 00:49:05,850 --> 00:49:10,420 >> 학생 40 : 때 당신 때문에 FREAD, 당신은 넣어 위해 노력하고 998 00:49:10,420 --> 00:49:13,528 버퍼에 아무것도. 999 00:49:13,528 --> 00:49:13,980 >> 제이슨 허쉬 호른 : OK. 1000 00:49:13,980 --> 00:49:15,550 그래서 당신은 FREAD을 생각 - 1001 00:49:15,550 --> 00:49:19,000 우리의 끝에 도달했을 때 파일, 무엇을 fread는 할거야? 1002 00:49:19,000 --> 00:49:21,230 난 그 질문의 생각 우리가 파악해야합니다. 1003 00:49:21,230 --> 00:49:21,960 FREAD은 무엇입니까? 1004 00:49:21,960 --> 00:49:25,640 그것은 버퍼에 NULL을 넣어, 또는 않습니다 그것은 다른 일을합니까? 1005 00:49:25,640 --> 00:49:27,510 우리는 어떻게 그것이 무엇을 알아낼 수 있을까? 1006 00:49:27,510 --> 00:49:28,190 >> 학생 42 : 남자. 1007 00:49:28,190 --> 00:49:28,810 >> 제이슨 허쉬 호른 : 남자. 1008 00:49:28,810 --> 00:49:32,280 그럼 여기 보자. 1009 00:49:32,280 --> 00:49:34,000 값을 반환합니다. 1010 00:49:34,000 --> 00:49:39,620 성공을 fread에 반환 fwrite는 읽거나 쓸 수있는 항목의 수입니다. 1011 00:49:39,620 --> 00:49:43,700 이 숫자는 바이트의 수와 같 크기가 1 인 경우에만 전송. 1012 00:49:43,700 --> 00:49:47,780 오류가 발생하거나, 단부의 경우 파일 도달, 반환 값은이다 1013 00:49:47,780 --> 00:49:51,490 짧은 항목 수 또는 0. 1014 00:49:51,490 --> 00:49:57,860 >> 그래서 우리의 목적을 위해, 경우 FREAD 도달 파일의 끝에, 그리고로부터 판독 1015 00:49:57,860 --> 00:50:02,100 파일의 끝은 왼쪽 아무것도 없어 읽기, 무엇 반환 할거야? 1016 00:50:02,100 --> 00:50:03,290 >> 학생 43 : 제로? 1017 00:50:03,290 --> 00:50:04,540 >> 제이슨 허쉬 호른 : 무엇? 1018 00:50:04,540 --> 00:50:05,300 >> 학생 43 : 제로? 1019 00:50:05,300 --> 00:50:05,690 >> 제이슨 허쉬 호른 : 제로. 1020 00:50:05,690 --> 00:50:06,940 그것은 0을 반환하는 것입니다. 1021 00:50:06,940 --> 00:50:09,360 1022 00:50:09,360 --> 00:50:13,010 그래서 우리는 우리가했다고 FREAD을 알고 파일의 끝에 도달 예정 1023 00:50:13,010 --> 00:50:13,690 0을 반환합니다. 1024 00:50:13,690 --> 00:50:17,460 우리는 어떻게 우리의 이점에 그것을 사용할 수 있습니까? 1025 00:50:17,460 --> 00:50:21,733 >> AVI : 당신은 외부 변수를 선언 할 수 있습니다 체크 불리는 루프. 1026 00:50:21,733 --> 00:50:27,040 검사가 동일한 경우 - 1027 00:50:27,040 --> 00:50:28,190 지금 - 한. 1028 00:50:28,190 --> 00:50:28,920 >> 제이슨 허쉬 호른 : OK. 1029 00:50:28,920 --> 00:50:38,050 >> AVI : 그리고 당신은 IF를 넣을 수 있습니다 바로 FREAD 말 이후 if 문 1030 00:50:38,050 --> 00:50:42,600 FREAD가 0 인 - 1031 00:50:42,600 --> 00:50:43,850 아니. 1032 00:50:43,850 --> 00:50:46,002 1033 00:50:46,002 --> 00:50:47,252 >> 제이슨 허쉬 호른 : 누가 아비를 도울 수 있는가? 1034 00:50:47,252 --> 00:50:49,690 1035 00:50:49,690 --> 00:50:52,410 >> AVI : 값은 무엇입니까 FREAD에 의해 반환? 1036 00:50:52,410 --> 00:50:54,060 >> 제이슨 허쉬 호른 : 우리 단지 그 동안 갔다. 1037 00:50:54,060 --> 00:50:55,450 >> AVI : 당신이 그것을 어떻게 표현합니까? 1038 00:50:55,450 --> 00:50:57,190 >> 제이슨 허쉬 호른 : 그래서 반환 -하자 여기 봐 - 그것은을 반환 1039 00:50:57,190 --> 00:50:59,340 본질적으로 size_t와, 정수. 1040 00:50:59,340 --> 00:51:02,240 1041 00:51:02,240 --> 00:51:03,410 그래서 정수를 반환합니다. 1042 00:51:03,410 --> 00:51:05,160 우리의 경우는 것 1 또는 0을 반환 - 1043 00:51:05,160 --> 00:51:08,760 1 그것은 한 가지 읽으면 - 한 바이트, 0 우리는 한계에 도달 한 경우. 1044 00:51:08,760 --> 00:51:13,560 1045 00:51:13,560 --> 00:51:16,450 그래서 FREAD 경우 - 1046 00:51:16,450 --> 00:51:16,855 그래? 1047 00:51:16,855 --> 00:51:20,330 >> 학생 45 : 당신은 단지 전체를 넣을 수 없습니다 에 FREAD (버퍼, 1, 1, SRC) 1048 00:51:20,330 --> 00:51:21,660 while 루프? 1049 00:51:21,660 --> 00:51:26,510 >> 제이슨 허쉬 호른 : 그래서 당신은 제안 거기에 이런 짓을? 1050 00:51:26,510 --> 00:51:27,600 >> [개재 목소리] 1051 00:51:27,600 --> 00:51:29,520 >> 제이슨 허쉬 호른 : 잠깐. 1052 00:51:29,520 --> 00:51:30,885 그래서 우리는 그것의 면하게하고 있습니다. 1053 00:51:30,885 --> 00:51:33,300 그래서 당신은 퍼팅 제안하고 FREAD 거기에? 1054 00:51:33,300 --> 00:51:35,457 우리는 또한 이동해야 당신이 원하는 경우에? 1055 00:51:35,457 --> 00:51:36,740 >> 학생 45 : 외부 버퍼입니다. 1056 00:51:36,740 --> 00:51:38,110 >> 제이슨 허쉬 호른 : 우리는해야 또한 여기를 이동합니다. 1057 00:51:38,110 --> 00:51:41,700 >> 학생 45 : 그러나 않는다는 것을 지속적으로 앞으로 이동? 1058 00:51:41,700 --> 00:51:42,950 >> [개재 목소리] 1059 00:51:42,950 --> 00:51:46,540 1060 00:51:46,540 --> 00:51:47,470 >> 제이슨 허쉬 호른 : OK. 1061 00:51:47,470 --> 00:51:50,570 그래서이 Okshar 제안 것입니다. 1062 00:51:50,570 --> 00:51:51,930 우리는 우리의 버퍼를 만듭니다. 1063 00:51:51,930 --> 00:51:57,020 우리 WHILE의 FREAD는, 우리는 fwrite를. 1064 00:51:57,020 --> 00:51:59,760 이에 대한 생각? 1065 00:51:59,760 --> 00:52:04,050 >> 학생 46 : 내 유일한 문제는 것입니다 실제로 커맨드를 실행 FREAD? 1066 00:52:04,050 --> 00:52:06,175 >> 제이슨 허쉬 호른 : 지금 질문입니다. 1067 00:52:06,175 --> 00:52:11,050 당신은 함수 호출을 퍼팅 할 때 조건 내에서, 이러한 작업을 수행합니다 1068 00:52:11,050 --> 00:52:12,300 함수 호출이 실행? 1069 00:52:12,300 --> 00:52:15,760 1070 00:52:15,760 --> 00:52:17,770 우리는 전에이의 예를 본 적이있다. 1071 00:52:17,770 --> 00:52:24,900 1072 00:52:24,900 --> 00:52:25,660 오른쪽? 1073 00:52:25,660 --> 00:52:26,125 >> 학생 46 : OK. 1074 00:52:26,125 --> 00:52:26,590 그래. 1075 00:52:26,590 --> 00:52:30,140 그래서 실행하지 않습니다. 1076 00:52:30,140 --> 00:52:31,790 >> 제이슨 허쉬 호른 : 우리는 우리의 것을 본 적이 그 전에, 우리는이 곳과 1077 00:52:31,790 --> 00:52:33,550 상태의 내부 함수 호출. 1078 00:52:33,550 --> 00:52:35,540 그 함수 호출을 실행합니까? 1079 00:52:35,540 --> 00:52:36,350 예. 1080 00:52:36,350 --> 00:52:37,410 그래서 대답은 '예'입니다. 1081 00:52:37,410 --> 00:52:41,010 이 함수 호출이 실행됩니다. 1082 00:52:41,010 --> 00:52:42,418 그러나 다시, 그것은 우리가 원하는 무엇인가? 1083 00:52:42,418 --> 00:52:49,250 1084 00:52:49,250 --> 00:52:52,204 >> 우리가 이해할 수있는 하나의 방법은 무엇입니까 그것은 우리가 원하는 무엇을 밖으로 있다면? 1085 00:52:52,204 --> 00:52:53,470 >> 다중 학생 : 그것을 실행? 1086 00:52:53,470 --> 00:52:54,460 >> 제이슨 허쉬 호른 : 우리는 그것을 실행할 수 있습니다. 1087 00:52:54,460 --> 00:52:57,500 우리가 그렇게하기 전에, 우리는 할 수 있었다 또한이를 통해 이유. 1088 00:52:57,500 --> 00:52:57,920 만약 - 1089 00:52:57,920 --> 00:53:01,920 우리가 한 바이트가 있다고 우리 우리가 여기에 도착합니다, 파일, 1090 00:53:01,920 --> 00:53:02,660 우리는이 코드를 얻을 수 있습니다. 1091 00:53:02,660 --> 00:53:03,620 이 실행됩니다. 1092 00:53:03,620 --> 00:53:07,780 FREAD 한 바이트를 반환합니다 그것은 버퍼에 저장합니다. 1093 00:53:07,780 --> 00:53:11,290 그리고 이것은 1로 평가합니다 오른쪽 후 그는 1을 반환합니다. 1094 00:53:11,290 --> 00:53:12,640 >> 그래서 WHILE 1. 1095 00:53:12,640 --> 00:53:15,325 그 내부의 코드를 의미 하는가 WHILE 루프가 실행됩니다? 1096 00:53:15,325 --> 00:53:15,453 >> 학생 47 : 그래. 1097 00:53:15,453 --> 00:53:16,040 그것은 사실입니다. 1098 00:53:16,040 --> 00:53:16,290 >> 제이슨 허쉬 호른 : 예. 1099 00:53:16,290 --> 00:53:17,490 1은 true입니다. 1100 00:53:17,490 --> 00:53:18,240 은 0이 아니다. 1101 00:53:18,240 --> 00:53:20,360 그래서 여기에 내 코드가 실행됩니다. 1102 00:53:20,360 --> 00:53:22,300 그래서 우리는 그것을 쓸 수 있습니다. 1103 00:53:22,300 --> 00:53:25,340 우리는 다시 이동합니다 라인을 다시 한 번. 1104 00:53:25,340 --> 00:53:26,850 이제 우리는이 - 1105 00:53:26,850 --> 00:53:28,550 우리는 우리의 파일의 끝입니다. 1106 00:53:28,550 --> 00:53:30,980 우리는 우리의 파일의 끝에서 읽기 우리는 그것을 하나의 바이트를 가지고 있기 때문이다. 1107 00:53:30,980 --> 00:53:34,270 >> FREAD 0, 저장을 반환 버퍼에 뭔가. 1108 00:53:34,270 --> 00:53:35,890 솔직히 모르는 것을 그것은 버퍼에 저장합니다. 1109 00:53:35,890 --> 00:53:38,380 우리는 아마 찾아 볼 수 그것이 무엇을 참조하십시오. 1110 00:53:38,380 --> 00:53:40,130 솔직히 모르겠. 1111 00:53:40,130 --> 00:53:43,090 우리는 무엇을 걱정 사람, 모르는 그것은 버퍼에 저장? 1112 00:53:43,090 --> 00:53:44,010 하지만 0을 반환 않습니다. 1113 00:53:44,010 --> 00:53:45,440 0 실행하는 동안 것인가? 1114 00:53:45,440 --> 00:53:49,950 1115 00:53:49,950 --> 00:53:51,180 >> 0은 실행되지 않습니다있다. 1116 00:53:51,180 --> 00:53:54,030 그래서 우리는 여기에서 아래로 이동합니다. 1117 00:53:54,030 --> 00:53:58,870 그래서 손의 쇼를하자이 경우 우리가 실행하거나, 우리의 경우해야하는 코드입니다 1118 00:53:58,870 --> 00:54:00,140 첫 번째 변경을해야한다. 1119 00:54:00,140 --> 00:54:02,180 당신이 생각한다면 - 만약 당신이 투표를해야합니다. 1120 00:54:02,180 --> 00:54:06,885 당신은 우리가이 코드를 실행해야한다고 생각하는 경우 있는 그대로, 손을 들어주세요. 1121 00:54:06,885 --> 00:54:12,440 1122 00:54:12,440 --> 00:54:13,400 >> OK. 1123 00:54:13,400 --> 00:54:14,315 하나가있다 - 1124 00:54:14,315 --> 00:54:17,260 당신은 질문, 우려 사항이 있습니까? 1125 00:54:17,260 --> 00:54:18,080 그래. 1126 00:54:18,080 --> 00:54:21,240 >> 학생 48 : 우리는 버퍼를 이동 한 후 루프의 외부에, 우리가 할 1127 00:54:21,240 --> 00:54:22,670 그것을 MALLOC해야? 1128 00:54:22,670 --> 00:54:23,310 >> 제이슨 허쉬 호른 : 지금 질문입니다. 1129 00:54:23,310 --> 00:54:26,670 우리는 외부의 버퍼를 이동 한 후 루프는, 우리는 그것을 MALLOC해야합니까? 1130 00:54:26,670 --> 00:54:28,400 이 범위의 문제이다. 1131 00:54:28,400 --> 00:54:32,130 우리는 외부의 버퍼를 초기화하면 이 루프, 그것은 존재 1132 00:54:32,130 --> 00:54:33,534 루프의 내부? 1133 00:54:33,534 --> 00:54:35,230 >> 다중 학생 : 예. 1134 00:54:35,230 --> 00:54:35,580 >> 제이슨 허쉬 호른 : 예. 1135 00:54:35,580 --> 00:54:40,100 그 범위는 루프 내부 커버 와, 정말, 아무것도 안쪽을 아래 1136 00:54:40,100 --> 00:54:42,460 를 포함하여이 코드의 여기에 내부 것들. 1137 00:54:42,460 --> 00:54:43,930 그래서 우리는 그것을 MALLOC 할 필요가 없습니다. 1138 00:54:43,930 --> 00:54:47,766 그것은 지역 변수, 그리고 그 범위 여전히 루프가 포함되어 있습니다. 1139 00:54:47,766 --> 00:54:49,540 >> 학생 49 : 우리가 그것을 해제해야합니까? 1140 00:54:49,540 --> 00:54:51,770 >> 제이슨 허쉬 호른 : 우리를 수행 무료 버퍼가 필요하십니까? 1141 00:54:51,770 --> 00:54:53,860 >> 학생 49 : 그래, 우리의 malloc을하지 마십시오. 1142 00:54:53,860 --> 00:54:55,750 >> 제이슨 허쉬 호른 : 우리를 수행 무료 버퍼가 필요하십니까? 1143 00:54:55,750 --> 00:54:57,160 우리는하지 않습니다. 1144 00:54:57,160 --> 00:55:01,280 다시, 로컬 변수, 그래서 우리는 그것을 해제 할 필요가 없습니다. 1145 00:55:01,280 --> 00:55:02,170 OK. 1146 00:55:02,170 --> 00:55:03,480 의가 어떻게되는지 보자. 1147 00:55:03,480 --> 00:55:17,290 1148 00:55:17,290 --> 00:55:18,220 그래서는 초기화되지 않은 상태입니다. 1149 00:55:18,220 --> 00:55:20,830 즉, 무엇을 어떤 것을 마커스는 이전에 제안했다. 1150 00:55:20,830 --> 00:55:25,340 그래서 우리는 오류, 변수 버퍼가 여기에 사용하는 경우 초기화되지 않습니다. 1151 00:55:25,340 --> 00:55:26,590 >> 우리가 어떻게 해결할 수 있습니까? 1152 00:55:26,590 --> 00:55:29,460 1153 00:55:29,460 --> 00:55:30,960 >> 학생 50 : 그것을 MALLOC? 1154 00:55:30,960 --> 00:55:31,770 >> 학생 51 : NULL 같음? 1155 00:55:31,770 --> 00:55:33,000 >> 학생 52 : 버퍼가 NULL에 해당 말해봐. 1156 00:55:33,000 --> 00:55:34,250 >> 제이슨 허쉬 호른 : OK. 1157 00:55:34,250 --> 00:55:40,040 1158 00:55:40,040 --> 00:55:40,770 좋아 보인다. 1159 00:55:40,770 --> 00:55:42,410 우리는 지금이. 1160 00:55:42,410 --> 00:55:45,630 의 복사를 시도하는 무언가를 만들 수 있습니다. 1161 00:55:45,630 --> 00:56:08,990 1162 00:56:08,990 --> 00:56:10,490 그래서 우리는 우리의 텍스트 파일이 있습니다. 1163 00:56:10,490 --> 00:56:11,740 우리는 어떻게이 프로그램을 실행할 수 있습니까? 1164 00:56:11,740 --> 00:56:14,140 1165 00:56:14,140 --> 00:56:15,472 그래. 1166 00:56:15,472 --> 00:56:22,230 >> 학생 53 : 당신은 점을 수행 할 수 있습니다 CP, Test.txt에 슬래시. 1167 00:56:22,230 --> 00:56:25,140 그리고 당신은 다른 파일 이름을 지정할 수 있습니다 그것은에 저장할 것이다. 1168 00:56:25,140 --> 00:56:25,510 >> 제이슨 허쉬 호른 : OK. 1169 00:56:25,510 --> 00:56:27,380 우리는 그것을 out.txt 전화 할게. 1170 00:56:27,380 --> 00:56:28,630 쿨? 1171 00:56:28,630 --> 00:56:31,700 1172 00:56:31,700 --> 00:56:34,320 원세그 오류. 1173 00:56:34,320 --> 00:56:35,570 세그먼트 오류에 대한 생각? 1174 00:56:35,570 --> 00:56:40,900 1175 00:56:40,900 --> 00:56:41,390 이것은 좋은 것입니다. 1176 00:56:41,390 --> 00:56:45,040 우리는 어떻게 알 수 세그먼트 오류가 무엇입니까? 1177 00:56:45,040 --> 00:56:45,680 무엇? 1178 00:56:45,680 --> 00:56:45,990 >> 학생 54 : GDB. 1179 00:56:45,990 --> 00:56:47,240 >> 제이슨 허쉬 호른 : GDB. 1180 00:56:47,240 --> 00:56:51,400 1181 00:56:51,400 --> 00:56:55,300 우리는 GDB 점 슬래시를 작성하여 GDB를 실행 우리 프로그램의 이름. 1182 00:56:55,300 --> 00:56:57,020 거기 명령 줄 인수가 없습니다. 1183 00:56:57,020 --> 00:56:59,570 우리는을 설정하는거야 주에서 브레이크 포인트. 1184 00:56:59,570 --> 00:57:02,190 내가 GDB를 시작하려면 어떻게해야합니까? 1185 00:57:02,190 --> 00:57:02,730 >> 학생 55 : R. 1186 00:57:02,730 --> 00:57:08,910 >> 다음 R. 그리고 무엇 : 제이슨 허쉬 호른? 1187 00:57:08,910 --> 00:57:09,400 >> 학생 55 : 인수? 1188 00:57:09,400 --> 00:57:10,650 >> 제이슨 허쉬 호른 : 다음 명령 줄 인수. 1189 00:57:10,650 --> 00:57:15,890 1190 00:57:15,890 --> 00:57:17,120 의를 통해 살펴 보겠습니다. 1191 00:57:17,120 --> 00:57:19,090 N은 선으로 나에게 라인을하고있다. 1192 00:57:19,090 --> 00:57:21,450 나는 갈거야 때까지 내 세그먼트 오류를​​ 얻을. 1193 00:57:21,450 --> 00:57:22,700 내 세그먼트 오류가 있습니다. 1194 00:57:22,700 --> 00:57:24,960 1195 00:57:24,960 --> 00:57:27,875 FREAD가 발생하는 것 같습니다 내 세그먼트 오류. 1196 00:57:27,875 --> 00:57:30,570 1197 00:57:30,570 --> 00:57:32,770 나는 FREAD 내 세그먼트 오류가 발생 알고 그 때문에 1198 00:57:32,770 --> 00:57:34,950 선 우리는 그냥 실행. 1199 00:57:34,950 --> 00:57:36,530 >> 그리고했던 건 그 라인에서 일어나는 - 1200 00:57:36,530 --> 00:57:37,520 두 가지 일이 있었다. 1201 00:57:37,520 --> 00:57:40,610 FREAD가는 한 후, 우리는했다 일부 WHILE 확인을 수행. 1202 00:57:40,610 --> 00:57:44,820 장담 컨대 그 WHILE 확인 내 세그먼트 오류를​​ 일으키는 원인이되지 않았습니다. 1203 00:57:44,820 --> 00:57:46,950 대부분의 경우, FREAD했다 내 세그먼트 오류의 원인. 1204 00:57:46,950 --> 00:57:49,260 또한 여기에 뭔가 memcopy를 참조하십시오. 1205 00:57:49,260 --> 00:57:50,500 >> 메모리 사본. 1206 00:57:50,500 --> 00:57:53,820 메모리를 이동하는 것 같은데 다른 하나의 위치. 1207 00:57:53,820 --> 00:57:56,890 일어날 법한 소리 FREAD에서, 어쩌면 약간의 메모리 1208 00:57:56,890 --> 00:57:58,910 여기에 여기에서 이동. 1209 00:57:58,910 --> 00:58:01,740 1210 00:58:01,740 --> 00:58:03,860 의가 또 다시 가자. 1211 00:58:03,860 --> 00:58:06,900 어떻게 그것을 시작 않는다 하고 다시 실행? 1212 00:58:06,900 --> 00:58:08,092 그래. 1213 00:58:08,092 --> 00:58:15,140 >> 학생 56 : 당신은 넣어해야합니까 버퍼 앞에 앰퍼샌드? 1214 00:58:15,140 --> 00:58:17,800 >> 제이슨 허쉬 호른 : 그래서 전에 앰퍼샌드 버퍼는 나에게 주소를 줄 것입니다 1215 00:58:17,800 --> 00:58:22,330 * 문자입니다 버퍼. 1216 00:58:22,330 --> 00:58:25,250 의이 한 번 더 시간을 통해 실행할 수 있습니다. 1217 00:58:25,250 --> 00:58:28,248 어떻게 한 번 더 그것을 통해 실행합니까? 1218 00:58:28,248 --> 00:58:29,210 >> 학생 57 : 수 방금 다시 실행 입력? 1219 00:58:29,210 --> 00:58:32,050 >> 제이슨 허쉬 호른 : 그냥 다시 실행을 입력합니다. 1220 00:58:32,050 --> 00:58:33,415 그래서 우리는 안돼 이 줄을 실행합니다. 1221 00:58:33,415 --> 00:58:36,250 1222 00:58:36,250 --> 00:58:39,240 그래서 버퍼는 NULL 포인터입니다. 1223 00:58:39,240 --> 00:58:40,490 수정? 1224 00:58:40,490 --> 00:58:45,870 1225 00:58:45,870 --> 00:58:47,060 그것은 가리키는 - 보자. 1226 00:58:47,060 --> 00:58:48,500 우리가 가지고있는 경우에 우리의 -을 1227 00:58:48,500 --> 00:58:50,430 이의 빠른 그림을 그립니다. 1228 00:58:50,430 --> 00:58:53,500 경우 모두가 볼 수 여기에 씁니까? 1229 00:58:53,500 --> 00:59:02,890 >> 그래서 스택에, 우리는 지역이 변수 그것은 버퍼라고하고, 1230 00:59:02,890 --> 00:59:08,230 는 문자에 대한 포인터입니다. 1231 00:59:08,230 --> 00:59:10,325 어떤 주소이 숯불에있다? 1232 00:59:10,325 --> 00:59:12,550 >> 학생 58 : 0x0으로. 1233 00:59:12,550 --> 00:59:13,400 >> 제이슨 허쉬 호른 : 오른쪽. 1234 00:59:13,400 --> 00:59:14,200 즉,이는거야. 1235 00:59:14,200 --> 00:59:17,600 여기에서, 버퍼 안에, 0x0으로 저장됩니다. 1236 00:59:17,600 --> 00:59:20,480 즉, 우리가 무엇을 - 우리는 지금이 설치. 1237 00:59:20,480 --> 00:59:27,540 그래서이 줄을 fread, 뭔가를두고 어디 소스에서? 1238 00:59:27,540 --> 00:59:30,560 이 상자하거나 상자에? 1239 00:59:30,560 --> 00:59:31,060 어떤 상자? 1240 00:59:31,060 --> 00:59:33,290 상자 또는 오른쪽 상자를 왼쪽으로? 1241 00:59:33,290 --> 00:59:34,750 이 권한 상자. 1242 00:59:34,750 --> 00:59:38,440 >> 이 포인터를 따라, 여기에 넣습니다. 1243 00:59:38,440 --> 00:59:42,620 우리는에 시도하고 터치 메모리 때 위치 0, 우리는 무엇을 어떻게해야합니까? 1244 00:59:42,620 --> 00:59:45,050 세그먼트 오류. 1245 00:59:45,050 --> 00:59:46,550 그것은 우리가 지금 가지고있는 오류입니다. 1246 00:59:46,550 --> 00:59:46,970 그래. 1247 00:59:46,970 --> 00:59:48,410 >> 학생 59 : 당신은하지 마십시오 스타 버퍼를 넣어? 1248 00:59:48,410 --> 00:59:49,180 NO 또는? 1249 00:59:49,180 --> 00:59:50,050 FREAD 하시나요? 1250 00:59:50,050 --> 00:59:51,450 >> 제이슨 허쉬 호른 : 그래서 FREAD 포인터를 사용합니다. 1251 00:59:51,450 --> 00:59:54,920 1252 00:59:54,920 --> 00:59:55,900 그래서 버퍼에 전달합니다. 1253 00:59:55,900 --> 00:59:58,980 그리고이 있습니다 해제 참조 어딘가 FREAD 내부에. 1254 00:59:58,980 --> 01:00:00,700 그러나 다시, 우리가 본, 그것은 포인터를 사용합니다. 1255 01:00:00,700 --> 01:00:02,560 우리는 그것을 스타 버퍼를 통과 할 필요가 없습니다. 1256 01:00:02,560 --> 01:00:05,350 즉, 전달 될 것이다 그것은 여기에 무엇이든. 1257 01:00:05,350 --> 01:00:07,980 그리고 아마 우리에게 오류를 줄 것이다 우리가 그것을 해제 참조하고 있기 때문이다. 1258 01:00:07,980 --> 01:00:08,150 >> 오른쪽? 1259 01:00:08,150 --> 01:00:10,690 우리는이 포인터를 참조에게 탈 때, 때 우리는이 위치에 액세스하려고, 1260 01:00:10,690 --> 01:00:13,140 우리는 오류가 있어요 - 우리의 세그먼트 오류. 1261 01:00:13,140 --> 01:00:15,800 그래서 - 1262 01:00:15,800 --> 01:00:16,690 죄송합니다. 1263 01:00:16,690 --> 01:00:19,090 우리는 GDB 중 종료 될 것입니다. 1264 01:00:19,090 --> 01:00:20,160 우리의 라인 - 1265 01:00:20,160 --> 01:00:22,990 우리의 문제는 - 맞다 여기이 선에. 1266 01:00:22,990 --> 01:00:26,410 그리고 문제의 때문에 이 라인의. 1267 01:00:26,410 --> 01:00:31,780 >> 우리는 어떻게 상자를 만들 수 있습니다 FREAD에 액세스 할 수 있습니다. 1268 01:00:31,780 --> 01:00:31,980 오른쪽? 1269 01:00:31,980 --> 01:00:35,190 우리는 하나의 상자를 만들 필요가 바이트 큰, 문자의 크기. 1270 01:00:35,190 --> 01:00:38,590 그러나 우리는 그 상자에 액세스 할 수 있어야합니다 이 기능을 실행하면. 1271 01:00:38,590 --> 01:00:39,390 어디 - 1272 01:00:39,390 --> 01:00:39,640 그래. 1273 01:00:39,640 --> 01:00:40,440 어떤 아이디어? 1274 01:00:40,440 --> 01:00:43,615 >> 학생 60 : 그냥로 설정 어떤 임의의 문자. 1275 01:00:43,615 --> 01:00:49,150 1276 01:00:49,150 --> 01:00:51,640 그냥 문자 버퍼 등호에게 할 문자. 1277 01:00:51,640 --> 01:00:53,795 그리고, 당신이 거기에 버퍼 때 - 1278 01:00:53,795 --> 01:00:54,110 >> 제이슨 허쉬 호른 : 잠깐. 1279 01:00:54,110 --> 01:00:55,110 문자는 버퍼? 1280 01:00:55,110 --> 01:00:55,880 그래서 더 스타? 1281 01:00:55,880 --> 01:00:56,390 >> 학생 60 : 네. 1282 01:00:56,390 --> 01:00:58,560 별을보십시오. 1283 01:00:58,560 --> 01:01:00,690 임의의 문자와 동일합니다. 1284 01:01:00,690 --> 01:01:01,460 >> 제이슨 허쉬 호른 : OK. 1285 01:01:01,460 --> 01:01:02,420 그래서 나에게 하나를 제공합니다. 1286 01:01:02,420 --> 01:01:03,170 >> 학생 60 : 마음의 또는 뭔가. 1287 01:01:03,170 --> 01:01:06,160 그리고 당신은 버퍼가있을 때 거기, 당신은을 사용하여 - 1288 01:01:06,160 --> 01:01:06,420 >> 학생 61 : 스타? 1289 01:01:06,420 --> 01:01:07,650 아, 앰퍼샌드. 1290 01:01:07,650 --> 01:01:09,000 >> 학생 60 : 앰퍼샌드를 사용합니다. 1291 01:01:09,000 --> 01:01:09,470 >> 제이슨 허쉬 호른 : OK. 1292 01:01:09,470 --> 01:01:11,320 그리고 무엇 fwrite는 약? 1293 01:01:11,320 --> 01:01:14,150 >> 학생 60 : 다시 앰퍼샌드를 사용합니다. 1294 01:01:14,150 --> 01:01:14,320 >> 제이슨 허쉬 호른 : 좋습니다. 1295 01:01:14,320 --> 01:01:20,970 그래서 당신의 생각이며, 우리는 문자를 작성하고 다음에 뭔가를 넣고, 1296 01:01:20,970 --> 01:01:22,612 그 문자에 기록. 1297 01:01:22,612 --> 01:01:23,760 >> 학생 60 : 네. 1298 01:01:23,760 --> 01:01:25,916 >> 제이슨 허쉬 호른 : 무엇 사람들은 생각 하는가? 1299 01:01:25,916 --> 01:01:27,770 >> 학생 62 : 그것은 뒤얽힌 것. 1300 01:01:27,770 --> 01:01:28,460 >> 제이슨 허쉬 호른 : OK. 1301 01:01:28,460 --> 01:01:29,760 현실을 끌어 보자. 1302 01:01:29,760 --> 01:01:35,720 그래서이 시간, 나는이를 그릴거야 우리 다음 여기에 스택에 빨간색, 그리고 1303 01:01:35,720 --> 01:01:36,410 해야합니다 - 1304 01:01:36,410 --> 01:01:36,822 우! 1305 01:01:36,822 --> 01:01:38,060 미안 해요. 1306 01:01:38,060 --> 01:01:45,930 그래서 이번에는 우리가 뭔가라는이 버퍼, 그리고 스택이다. 1307 01:01:45,930 --> 01:01:48,430 수정? 1308 01:01:48,430 --> 01:01:51,520 그리고 우리는 처음에, 그것은에 저장하고 있습니다. 1309 01:01:51,520 --> 01:01:53,830 >> 그 다음 우리는 FREAD에 우리가 전화를해야합니다. 1310 01:01:53,830 --> 01:02:01,300 무엇을 fread는 그것에서 바이트를 걸립니다 않습니다 우리의 파일은 어딘가에 저장합니다. 1311 01:02:01,300 --> 01:02:04,570 그것은 무엇에 넣 일이 가리키는 것. 1312 01:02:04,570 --> 01:02:09,130 글쎄, 우리는이 주소를 가지기 전에 - 1313 01:02:09,130 --> 01:02:10,250 0x0으로. 1314 01:02:10,250 --> 01:02:13,349 이제 우리는 어떤 주소를 가지고 있습니까? 1315 01:02:13,349 --> 01:02:14,650 >> 학생 63 : 무엇이든 주소 버퍼입니다. 1316 01:02:14,650 --> 01:02:15,970 >> 제이슨 허쉬 호른 : 무엇이든 주소 버퍼입니다. 1317 01:02:15,970 --> 01:02:22,370 아마 될 것 그런 식으로. 1318 01:02:22,370 --> 01:02:26,950 아마 B로 시작 예정 다음 F,​​ 그리고 다른 여섯가 1319 01:02:26,950 --> 01:02:27,970 16 진수. 1320 01:02:27,970 --> 01:02:28,480 중요하지 않습니다. 1321 01:02:28,480 --> 01:02:29,470 일부 주소. 1322 01:02:29,470 --> 01:02:31,410 그리고 우리는 안으로 해당 주소를 전달하고 1323 01:02:31,410 --> 01:02:34,790 >> 그리고 우리는 우리의 하나를 넣어거야 해당 주소의 바이트 것. 1324 01:02:34,790 --> 01:02:38,470 그래서 우리는 우리를 넣어거야 바이트 것은 여기에 내부. 1325 01:02:38,470 --> 01:02:40,800 그리고 우리는에서 쓸거야 내부는 여기에 지금까지 무엇이. 1326 01:02:40,800 --> 01:02:43,425 1327 01:02:43,425 --> 01:02:45,380 아무도 질문이 있습니까 에 대해? 1328 01:02:45,380 --> 01:02:50,990 1329 01:02:50,990 --> 01:02:54,690 누가이 코드가 작동합니다 생각? 1330 01:02:54,690 --> 01:02:56,020 >> 당신이 생각하는 경우에 당신의 손을 들어 이 코드는 작동합니다. 1331 01:02:56,020 --> 01:02:57,270 당신은 입장을해야합니다. 1332 01:02:57,270 --> 01:03:00,670 1333 01:03:00,670 --> 01:03:02,500 누가이 코드가 작동하지 않습니다 생각? 1334 01:03:02,500 --> 01:03:04,610 손을 올립니다. 1335 01:03:04,610 --> 01:03:06,750 다른 사람이해야한다 손을 제기. 1336 01:03:06,750 --> 01:03:07,670 OK. 1337 01:03:07,670 --> 01:03:09,390 마이클, 당신은 어디에 서 있습니까? 1338 01:03:09,390 --> 01:03:10,680 >> 마이클 : 내가 결정할 수 없습니다. 1339 01:03:10,680 --> 01:03:12,070 종류의 중간에. 1340 01:03:12,070 --> 01:03:12,736 >> 제이슨 허쉬 호른 : 넌 중간에. 1341 01:03:12,736 --> 01:03:13,092 하나를 선택하십시오. 1342 01:03:13,092 --> 01:03:14,400 >> 마이클 : 나는 믿음을 가지고 있습니다 그것이 작동 말한다. 1343 01:03:14,400 --> 01:03:14,660 >> 제이슨 허쉬 호른 : OK. 1344 01:03:14,660 --> 01:03:16,047 당신은 믿음을 가지고 작동 말할 것? 1345 01:03:16,047 --> 01:03:26,490 1346 01:03:26,490 --> 01:03:27,020 무슨 일이? 1347 01:03:27,020 --> 01:03:28,270 >> [개재 목소리] 1348 01:03:28,270 --> 01:03:35,170 1349 01:03:35,170 --> 01:03:35,950 >> 제이슨 허쉬 호른 : 없음 세그먼트 오류. 1350 01:03:35,950 --> 01:03:40,320 우리는 어떻게 확인할 수있는 경우 두 가지가 동일? 1351 01:03:40,320 --> 01:03:42,060 두 파일은 동일합니다. 1352 01:03:42,060 --> 01:03:43,300 >> 학생 64 : 차이. 1353 01:03:43,300 --> 01:03:45,490 >> 제이슨 허쉬 호른 : 차이. 1354 01:03:45,490 --> 01:03:51,630 사이의 차이를 비교 확인 그것이 돌려 두 개의 파일, 경우 1355 01:03:51,630 --> 01:03:52,890 아무것도, 그들은 동일한 아니야. 1356 01:03:52,890 --> 01:03:59,030 우리가 여는 경우에, 우리는 우리의 파일을. 1357 01:03:59,030 --> 01:04:00,490 그래서 올바른 해결책이었다. 1358 01:04:00,490 --> 01:04:01,780 이제 그것을 한 번 더 돌아 보자. 1359 01:04:01,780 --> 01:04:04,080 우리는 사실조차하지 않았다 초기화 할 필요가있다. 1360 01:04:04,080 --> 01:04:05,520 >> 아마 조금 보일 것 당신은 두지 않은 경우 청소기 1361 01:04:05,520 --> 01:04:07,680 거기에 임의의 뭔가. 1362 01:04:07,680 --> 01:04:13,070 포인트가되는, 당신이 작성하는 데 필요한 뭔가를 저장하기 위해 약간의 공간 1363 01:04:13,070 --> 01:04:15,530 FREAD 뭔가를 가지고 fwrite는 중. 1364 01:04:15,530 --> 01:04:18,400 그리고 그 일이 있던 지역이 될 수 있습니다 스택에 변수 - 만약 당신이 1365 01:04:18,400 --> 01:04:19,890 일부 공간을 malloc이 있었어. 1366 01:04:19,890 --> 01:04:23,030 >> 그래서 우리는 실제로있을 수 있습니다 기록 malloc과, 그리고 1367 01:04:23,030 --> 01:04:25,420 그 일 것입니다. 1368 01:04:25,420 --> 01:04:28,660 그리고 우리는 저장되었을 것 어딘가에 힙에 우리 물건. 1369 01:04:28,660 --> 01:04:31,940 그러나 이것은, 아마, 실제로 가장 우아한 솔루션입니다. 1370 01:04:31,940 --> 01:04:34,490 그냥 스택에 공간을 만들 이런 일들은 이동하십시오. 1371 01:04:34,490 --> 01:04:37,690 1372 01:04:37,690 --> 01:04:38,990 >> 나는 두 가지 다른 의견이있을 것입니다. 1373 01:04:38,990 --> 01:04:44,650 이에 회전을하고한다면 다음 내 의견이 득점 기회 1374 01:04:44,650 --> 01:04:47,400 다음과 같이 될 것입니다. 1375 01:04:47,400 --> 01:04:54,300 이 1 여기, 나에게, 보라, 마법의 숫자 등을들 수있다. 1376 01:04:54,300 --> 01:04:56,860 이 1, FREAD의 측면에서, 의미가 있습니다. 1377 01:04:56,860 --> 01:04:59,580 즉, 사물의 수의 읽거나 쓸 수 있습니다. 1378 01:04:59,580 --> 01:05:03,740 >> 그러나 여기이 하나해야 아마 다른 뭔가. 1379 01:05:03,740 --> 01:05:05,180 그래서 하나의 솔루션은 무엇입니까? 1380 01:05:05,180 --> 01:05:06,545 >> 학생 65 바이트의 크기입니다. 1381 01:05:06,545 --> 01:05:10,100 1382 01:05:10,100 --> 01:05:11,080 >> 제이슨 허쉬 호른 : 그 마음에 드 셨나요? 1383 01:05:11,080 --> 01:05:13,130 >> 학생 65 : 문자의 크기입니다. 1384 01:05:13,130 --> 01:05:13,820 >> 제이슨 허쉬 호른 : 문자의 크기입니다. 1385 01:05:13,820 --> 01:05:15,290 그래, 바이트는 형식이 아닙니다. 1386 01:05:15,290 --> 01:05:16,320 문자 작품이 너무 크기. 1387 01:05:16,320 --> 01:05:30,270 우리의 상단에있을 수 우리의 코드, # 그 정의. 1388 01:05:30,270 --> 01:05:33,410 뭔가 BYTE 및 호출 정말 문자입니다. 1389 01:05:33,410 --> 01:05:37,675 사실, 더 나은 방법 이되었을 수 있습니다 - 1390 01:05:37,675 --> 01:05:39,391 단위. 1391 01:05:39,391 --> 01:05:40,780 아무도 그게 뭔지 알아? 1392 01:05:40,780 --> 01:05:44,388 1393 01:05:44,388 --> 01:05:44,840 >> 미안 해요. 1394 01:05:44,840 --> 01:05:46,090 나는 거꾸로 있습니다. 1395 01:05:46,090 --> 01:05:51,620 1396 01:05:51,620 --> 01:05:52,200 아니, 기다립니다. 1397 01:05:52,200 --> 01:05:53,450 그것은 어떤 길을 가야 하는가? 1398 01:05:53,450 --> 01:05:58,071 1399 01:05:58,071 --> 01:05:59,660 아무도 그게 뭔지 알아? 1400 01:05:59,660 --> 01:06:00,950 그래. 1401 01:06:00,950 --> 01:06:05,650 >> 학생 67 : 표준화 도와야 시스템 것들에서 그 1402 01:06:05,650 --> 01:06:08,760 이 - 부호없는 정수처럼 8 바이트가 있는지? 1403 01:06:08,760 --> 01:06:11,785 >> 제이슨 허쉬 호른 : 때문입니다 정확히 맞아. 1404 01:06:11,785 --> 01:06:14,310 다른 컴퓨터에서 문자의 크기 - 1405 01:06:14,310 --> 01:06:15,180 없는 보통 문자. 1406 01:06:15,180 --> 01:06:16,100 숯은 보통 1 바이트입니다. 1407 01:06:16,100 --> 01:06:19,590 그렇지만 다른 데이터 형식의 크기는 32 비트 시스템에서 서로 다른 크기의 1408 01:06:19,590 --> 01:06:21,370 64 비트 컴퓨터 대. 1409 01:06:21,370 --> 01:06:25,180 uint8_t는 항상 8 비트 - 1410 01:06:25,180 --> 01:06:27,210 항상 한 바이트. 1411 01:06:27,210 --> 01:06:29,580 >> 그리고 포함 할 필요가 표준 INT 헤더 파일. 1412 01:06:29,580 --> 01:06:35,040 그래서 지금이 아마 있었을 것이다 이 코드를 작성하는 가장 좋은 방법. 1413 01:06:35,040 --> 01:06:40,160 1414 01:06:40,160 --> 01:06:41,450 그래서 나는 마법의 숫자를 제거. 1415 01:06:41,450 --> 01:06:44,690 그리고 또한 더 논리적이 버퍼 입력합니다. 1416 01:06:44,690 --> 01:06:49,450 그것은 그것이 바이트 단순히 CHAR 아니다 이는 우리가 될 것으로 기대 것입니다. 1417 01:06:49,450 --> 01:06:53,400 >> 그리고 여기까지, 우리는 실제로했습니다 좀 더 강력한되었습니다. 1418 01:06:53,400 --> 01:06:55,190 우리는 어떤 문자를 부르지 않을거야 - 1419 01:06:55,190 --> 01:06:58,630 어쩌면, 누구 아는 것은 - 다를 수 있습니다 다른 기계에 크기. 1420 01:06:58,630 --> 01:07:02,025 우리는 실제로이 정확하게 말을하는지 한 바이트, 항상 상관없이. 1421 01:07:02,025 --> 01:07:05,810 우리가 여기에서 보면, 우리는 CP를 확인합니다. 1422 01:07:05,810 --> 01:07:08,340 어 - 오. 1423 01:07:08,340 --> 01:07:09,590 무슨 일이? 1424 01:07:09,590 --> 01:07:14,470 1425 01:07:14,470 --> 01:07:16,170 >> 학생 68 :이 전환 될 수 있습니다. 1426 01:07:16,170 --> 01:07:17,880 >> 제이슨 허쉬 호른 : 무엇? 1427 01:07:17,880 --> 01:07:19,130 >> 학생 69 : 그것은인가? 1428 01:07:19,130 --> 01:07:21,940 1429 01:07:21,940 --> 01:07:25,080 >> 학생 70 : 당신은하지 않았다 유형으로 정의합니다. 1430 01:07:25,080 --> 01:07:28,684 >> 학생 71 :하지만해야 표준으로 정의 될 수있다. 1431 01:07:28,684 --> 01:07:29,934 >> 학생 72 : 무슨 일이야? 1432 01:07:29,934 --> 01:07:37,660 1433 01:07:37,660 --> 01:07:40,210 >> 학생 73 : 정의해야 모두 대문자 수? 1434 01:07:40,210 --> 01:07:41,370 >> 제이슨 허쉬 호른 : 그래서 그것은 아니다 정의 #. 1435 01:07:41,370 --> 01:07:45,490 사실,이 경우, 난 형식 정의를 사용하는 것. 1436 01:07:45,490 --> 01:07:48,590 우리는 그것을 사용하고 있기 때문에 한 위치에있는 형식. 1437 01:07:48,590 --> 01:07:51,990 따라서이 경우, 우리가 실제로 원하는에 우리는 새로운 유형을 인쇄하는 것처럼 형식 정의 1438 01:07:51,990 --> 01:07:54,490 바이트, 그리고 이것은 본질적이다. 1439 01:07:54,490 --> 01:07:56,590 그것은 # 정의보다 조금 다릅니다. 1440 01:07:56,590 --> 01:08:02,740 >> 그리고 지금, 우리의 코드는 완벽하게 작동합니다. 1441 01:08:02,740 --> 01:08:05,230 그래서, 다시 # 뭔가 걸리는 정의, 사방에 그것을 대체 1442 01:08:05,230 --> 01:08:06,780 다른 것으로. 1443 01:08:06,780 --> 01:08:07,920 그냥 매크로의 - 1444 01:08:07,920 --> 01:08:09,420 속기는 마법의 숫자를 제거하는. 1445 01:08:09,420 --> 01:08:11,360 그러나이 경우, 때문에 우린 형태로 사용 - 1446 01:08:11,360 --> 01:08:12,180 여기 - 1447 01:08:12,180 --> 01:08:19,880 그래도 문제가 해결하기 위해서, 우리는 필요 무엇이든 바이트 형식 정의합니다. 1448 01:08:19,880 --> 01:08:21,840 >> 그리고 우리는 바로 여기에서 정의하고 있습니다. 1449 01:08:21,840 --> 01:08:24,750 그것은 사실이다, 구조체 아니다 다만 부호없는 정수입니다. 1450 01:08:24,750 --> 01:08:27,680 그것은 하나의 바이트 길이입니다. 1451 01:08:27,680 --> 01:08:31,910 이 코드는 온라인으로 제공 될 것이며 여러분 모두는 지금 당장이 있어야합니다. 1452 01:08:31,910 --> 01:08:33,830 >> 그래서 우리는이 - 1453 01:08:33,830 --> 01:08:34,250 완벽한 - 1454 01:08:34,250 --> 01:08:41,359 13 분 가서 왼쪽으로 이상의 문제는 5를 설정합니다. 1455 01:08:41,359 --> 01:08:44,270 나는 함께 copy.c을 걷고 싶어 그리고, 우리는 간단히 얘기하자 1456 01:08:44,270 --> 01:08:47,120 다른 부분에 관하여 문제의 집합입니다. 1457 01:08:47,120 --> 01:08:48,899 그래서 내가 copy.c.을 끌어 보자 1458 01:08:48,899 --> 01:09:03,930 1459 01:09:03,930 --> 01:09:08,810 그리고 좋은 점은 우리가 실제로했습니다입니다 이미 많은 코드를 작성합니다. 1460 01:09:08,810 --> 01:09:11,180 >> 우리는 문자 그대로 쓴 코드 단지 나는이 때 여기에서 나온 1461 01:09:11,180 --> 01:09:13,120 내 자신이 글을 쓰는. 1462 01:09:13,120 --> 01:09:16,990 그러나 이것은, copy.c 인 기초를 형성한다 의 처음 두 파트 1463 01:09:16,990 --> 01:09:22,340 whodunit.c에 대한 설정 문제되는 당신이 작성해야하고, resize.c. 1464 01:09:22,340 --> 01:09:27,050 세 번째이자 마지막입니다 Recover.c, 문제 세트의 일부가 아닌 1465 01:09:27,050 --> 01:09:29,529 이 파일을 기반으로. 1466 01:09:29,529 --> 01:09:32,200 >> 해당 파일을 작성해야 할 것입니다, 우리는 당신에게 그것을위한 템플릿을 제공합니다 1467 01:09:32,200 --> 01:09:34,620 파일, 그러나 그것은 아무 상관이 copy.c. 함께 할 수있는 1468 01:09:34,620 --> 01:09:38,675 그러나 copy.c는의 기초이기 때문에 처음 두 부분으로, 우리는거야 1469 01:09:38,675 --> 01:09:42,000 지금 그것을 통해 도보, 그래서 당신이 필요합니다 그것이 무엇의 좋은 감각. 1470 01:09:42,000 --> 01:09:43,640 >> 그리고 코멘트는 그것의 일부를 포기. 1471 01:09:43,640 --> 01:09:45,120 우리는 이미이 중 일부를 서면으로 작성했습니다. 1472 01:09:45,120 --> 01:09:49,220 첫째, 우리는 확인하고있어 우리는 3 개의 인수를 얻을. 1473 01:09:49,220 --> 01:09:50,560 다음으로, 파일 이름을 기억하고. 1474 01:09:50,560 --> 01:09:52,960 그래서 우리는이 단계를 건너 뛸 때 우리는 우리의 일을 코딩 - 1475 01:09:52,960 --> 01:09:54,700 때 우리의 CP. 1476 01:09:54,700 --> 01:09:56,750 그러나 여기, 그들이 만들고있어 조금 청소기 그것. 1477 01:09:56,750 --> 01:09:59,350 >> 그들은 확인하는 검사입니다 모두 이미지, 좋은 1478 01:09:59,350 --> 01:10:00,450 을 여는뿐만 아니라. 1479 01:10:00,450 --> 01:10:04,760 우리는 지금이 모든 코드를 작성, 그래서 난 이 코드에 연연하지 않을. 1480 01:10:04,760 --> 01:10:09,670 다음에 특정의 몇 가지 물건입니다 우리가 사용하는 파일의 종류에있는 1481 01:10:09,670 --> 01:10:12,240 비트 맵 파일입니다. 1482 01:10:12,240 --> 01:10:15,660 비트 맵 파일은 일부 메타 데이터가 그들과 관련된. 1483 01:10:15,660 --> 01:10:20,190 >> 그래서 바이트의 첫 번째 커플 파일에 대해 말해. 1484 01:10:20,190 --> 01:10:23,460 그들은의 색상 수 없습니다 그 화상의 화소. 1485 01:10:23,460 --> 01:10:25,120 그들은 파일에 대해 말해. 1486 01:10:25,120 --> 01:10:28,220 그리고 당신은 문제 세트를 읽는다면, 당신은 더 많은 정보를 가지고 있습니다 1487 01:10:28,220 --> 01:10:33,100 메타 데이터 구조의 유형에 비트 맵에 포함되어 있습니다. 1488 01:10:33,100 --> 01:10:39,350 >> 우리는이 첫 번째 이유하지만 그건 바로 여기에이 코드 - 설정합니다. 1489 01:10:39,350 --> 01:10:42,490 우리는 메타 데이터를 읽고 - 1490 01:10:42,490 --> 01:10:45,800 메타 데이터의 두 가지 - 파일 헤더와 정보 헤더. 1491 01:10:45,800 --> 01:10:51,030 그리고 우리는 그것을의 일부를 확인하는 확실히 그것은 진정한 비트 맵 파일인지 확인 1492 01:10:51,030 --> 01:10:52,420 계속하기 전에. 1493 01:10:52,420 --> 01:10:55,470 >> 그리고 또, 이러한 정보는 우리가 있습니다 지금에 갈 필요가 없습니다. 1494 01:10:55,470 --> 01:10:57,720 당신이 문제 세트를 읽는다면, 당신은이를 이해할 것이다. 1495 01:10:57,720 --> 01:11:01,370 길고도 짧은 이야기, 이건 그냥 말, 이것은 비트 맵 파일이며, 1496 01:11:01,370 --> 01:11:02,810 그 확인. 1497 01:11:02,810 --> 01:11:05,180 >> 다음으로, 우리는 사람들을 작성하는 아웃 파일. 1498 01:11:05,180 --> 01:11:05,660 우리는 여기에서 그를 참조하십시오. 1499 01:11:05,660 --> 01:11:06,910 우리는 밖으로 포인터로 쓰고있어. 1500 01:11:06,910 --> 01:11:09,260 1501 01:11:09,260 --> 01:11:11,320 다음으로, 우리는 패딩을 결정하고 있습니다. 1502 01:11:11,320 --> 01:11:15,240 그래서 다시로는 까다로입니다 비트 맵 파일은, 일부 라인 풍향 1503 01:11:15,240 --> 01:11:16,840 끝에 패딩. 1504 01:11:16,840 --> 01:11:19,000 그리고 당신은 문제 세트를 읽는다면, 당신은 패딩에 대한 자세한 내용은 있습니다. 1505 01:11:19,000 --> 01:11:22,330 이 패딩을 찾을 수있는 공식이다. 1506 01:11:22,330 --> 01:11:23,610 >> 기억하는 것이 중요합니다 - 1507 01:11:23,610 --> 01:11:29,720 는 비트 맵의​​ 크기를 변경할 때 , 패딩 파일 변경. 1508 01:11:29,720 --> 01:11:31,970 당신의 크기를 변경할 때 , 패딩 파일 변경. 1509 01:11:31,970 --> 01:11:34,310 그것은 될 것 적이 없어요 3보다 큰 - 1510 01:11:34,310 --> 01:11:36,510 그것은, 3을 포함하는 0이 될 수 있습니다. 1511 01:11:36,510 --> 01:11:38,930 하지만 당신의 크기를 변경할 때 뭔가, 패딩 변경. 1512 01:11:38,930 --> 01:11:47,100 >> I는 해당 행에 하나의 픽셀이있는 경우, I , 3 바이트의 패딩을 필요로하기 때문에 1513 01:11:47,100 --> 01:11:51,190 각 행은 네 가지의 배수이어야한다 비트 맵 파일의 바이트 길이. 1514 01:11:51,190 --> 01:11:56,120 그러나 나는 그것을 두 번하는 경우, 하나의 화소에서 이동 이 화소에, 각각의, 1515 01:11:56,120 --> 01:11:59,510 의 말을하자, 바이트, 그때 필요가있다 만들기 위해 패딩 두 바이트 1516 01:11:59,510 --> 01:12:00,970 4 그 같은. 1517 01:12:00,970 --> 01:12:04,200 >> 그래서 뭔가의 크기를 변경할 때, 나는 양을 변경해야 1518 01:12:04,200 --> 01:12:06,551 패딩의 내가있다. 1519 01:12:06,551 --> 01:12:08,100 즉, 모든 사람에게 의미가 있습니까? 1520 01:12:08,100 --> 01:12:12,020 1521 01:12:12,020 --> 01:12:18,720 다음은 각 행을 반복, 또는 모든 행을. 1522 01:12:18,720 --> 01:12:21,400 그리고 우리는을 반복 각 행의 각 열에. 1523 01:12:21,400 --> 01:12:25,330 우리는 같은이 비트 맵을 처리하고 그리드와 같은 우리가 처리 한 1524 01:12:25,330 --> 01:12:26,490 15 보드. 1525 01:12:26,490 --> 01:12:29,200 >> 같은 우리는 벽돌을 처리 할 때 우리는 화면에 인쇄. 1526 01:12:29,200 --> 01:12:31,350 행 및 열의 그리드. 1527 01:12:31,350 --> 01:12:32,350 다음 - 우리는이를 보았다. 1528 01:12:32,350 --> 01:12:33,840 우리는 실제로 이걸 코딩. 1529 01:12:33,840 --> 01:12:35,780 우리는 약간의 임시 저장소를 만들었습니다. 1530 01:12:35,780 --> 01:12:38,710 우리는 거기에 읽고, 우리는 코드를 작성하기 만하면됩니다. 1531 01:12:38,710 --> 01:12:42,680 이것은 우리가 방금 한 정확히입니다. 1532 01:12:42,680 --> 01:12:46,760 >> 내가 말했다 다음, 때문에 각 라인 어떤 패딩으로 끝나는, 우리 1533 01:12:46,760 --> 01:12:48,260 패딩 건너 - 1534 01:12:48,260 --> 01:12:51,000 기존의 패딩. 1535 01:12:51,000 --> 01:12:52,630 그리고 우리는 그것을 다시 추가. 1536 01:12:52,630 --> 01:12:55,140 이 경우, 우리는 만드는 똑같은 파일입니다. 1537 01:12:55,140 --> 01:12:56,180 우리는 단지 그것을 복사하는. 1538 01:12:56,180 --> 01:12:57,700 따라서이 라인은 종류의 바보입니다. 1539 01:12:57,700 --> 01:12:59,660 우리는 할 수 말 그대로 그냥 안으로 패딩을 넣어 1540 01:12:59,660 --> 01:13:04,290 >> 하지만 파일의 크기를 변경하는 경우, 당신은 여전히​​이 라인을 원하세요? 1541 01:13:04,290 --> 01:13:08,510 1542 01:13:08,510 --> 01:13:11,560 우리는 파일의 크기를 변경 그렇다면, 우리는 여전히 건너 싶어 1543 01:13:11,560 --> 01:13:12,810 기존 패딩에? 1544 01:13:12,810 --> 01:13:15,170 1545 01:13:15,170 --> 01:13:15,970 >> 학생 74 : 예. 1546 01:13:15,970 --> 01:13:17,090 >> 제이슨 허쉬 호른 : 그래서 우리는. 1547 01:13:17,090 --> 01:13:19,290 이, 다시, 상품 때문에 소스 파일과. 1548 01:13:19,290 --> 01:13:21,570 우리는 패딩에 대한 상관 없어 소스 파일. 1549 01:13:21,570 --> 01:13:23,410 우리는 다음 라인으로 이동합니다. 1550 01:13:23,410 --> 01:13:28,850 그러나 우리는 단순히 다시 넣지 않는다 패딩 된 금액입니다. 1551 01:13:28,850 --> 01:13:31,540 우리는 다시 배치해야 패딩의 새로운 양. 1552 01:13:31,540 --> 01:13:35,810 >> 그래서 우리는의 크기를 변경 할 때 파일, 우리는 여전히 건너하려면 1553 01:13:35,810 --> 01:13:38,270 이전 파일의 패딩 - 무엇을 우리는에서의 읽고. 1554 01:13:38,270 --> 01:13:40,370 그러나 우리가 작성하는 것을, 우리는거야 다른 몇몇이 다시 배치해야합니다 1555 01:13:40,370 --> 01:13:41,890 패딩의 번호가 우리는 결정했습니다. 1556 01:13:41,890 --> 01:13:42,780 그래. 1557 01:13:42,780 --> 01:13:44,550 >> 학생 75 : 그 두 가지의 순서 라인, 오른쪽 중요하지 않습니다? 1558 01:13:44,550 --> 01:13:46,160 당신이 취급하고 있기 때문에 다른 파일. 1559 01:13:46,160 --> 01:13:46,620 >> 제이슨 허쉬 호른 : 그렇지. 1560 01:13:46,620 --> 01:13:48,220 이들 두 라인의 순서 중요하지 않습니다. 1561 01:13:48,220 --> 01:13:49,790 우리는이 라인을 작성합니다. 1562 01:13:49,790 --> 01:13:51,430 이 파일을 여기에 우리는에 기록하고 있습니다. 1563 01:13:51,430 --> 01:13:54,370 즉, 중요, 그래서 우리는 얻을 패딩의 적당한 양. 1564 01:13:54,370 --> 01:13:57,560 이있는 파일을 처리 할 수​​ 있습니다. 1565 01:13:57,560 --> 01:13:58,560 우리는 바로 건너 뛰 패딩에. 1566 01:13:58,560 --> 01:13:59,470 >> 우리는 읽을 수 없다 - 1567 01:13:59,470 --> 01:14:01,500 우리는 한 번에 한 바이트를 읽고 있다면, 우리 그 패딩 바이트에 대해 걱정하지 않는다. 1568 01:14:01,500 --> 01:14:04,070 우리는 다음 라인으로 이동합니다. 1569 01:14:04,070 --> 01:14:11,800 마지막으로 루시가 우리에게 준 것처럼, 우리는 파일을 닫고 0을 반환합니다. 1570 01:14:11,800 --> 01:14:13,890 그래서이 copy.c.입니다 1571 01:14:13,890 --> 01:14:17,850 그리고 우리가 실제로 쓴 - 우리가 대부분의 시간 본질적으로,이 글을 쓰는 부분. 1572 01:14:17,850 --> 01:14:18,740 >> 이했다. 1573 01:14:18,740 --> 01:14:22,440 그렇게 잘하면 당신은 좋은 감각을 가지고 여기에서 무슨 일이 일어나고 있는지의. 1574 01:14:22,440 --> 01:14:25,890 큰 차이는, 정직하게, 단지이다 다루는 첫 번째 부분 1575 01:14:25,890 --> 01:14:29,970 비트 맵 파일의 특수성. 1576 01:14:29,970 --> 01:14:33,570 그래서 나는 나의 다음 슬라이드로이 우리가 어떻게해야합니까? 1577 01:14:33,570 --> 01:14:35,510 그럼, 추리 소설에 대해 생각하자. 1578 01:14:35,510 --> 01:14:38,080 >> 그리고 누군가가 누구를 통해 읽기 문제 설정, 우리는 무엇을 할 1579 01:14:38,080 --> 01:14:41,410 추리 소설에 할 필요가? 1580 01:14:41,410 --> 01:14:42,080 단순히. 1581 01:14:42,080 --> 01:14:42,460 Aleja. 1582 01:14:42,460 --> 01:14:48,570 >> ALEJA : 당신이 부분을 꺼낼 수 있습니다 빨간색 표시 각 픽셀의. 1583 01:14:48,570 --> 01:14:49,730 그리고 - 1584 01:14:49,730 --> 01:14:50,730 종류의? 1585 01:14:50,730 --> 01:14:51,860 >> 제이슨 허쉬 호른 : OK. 1586 01:14:51,860 --> 01:14:54,460 그래서 각각의 부분을 꺼낼 빨간색 표시 픽셀. 1587 01:14:54,460 --> 01:14:57,234 즉, 모든 가까운, 그러나 아니다. 1588 01:14:57,234 --> 01:14:59,780 >> 학생 76 : 음, 거기에 그것을 할 수있는 다른 방법. 1589 01:14:59,780 --> 01:14:59,870 >> 제이슨 허쉬 호른 : OK. 1590 01:14:59,870 --> 01:15:03,070 나에게 하나의 방법을 제공합니다. 1591 01:15:03,070 --> 01:15:08,240 >> 학생 76 : 모든 빨간색을 가지고, 다음 강조하는 파란색과 녹색. 1592 01:15:08,240 --> 01:15:10,010 >> 제이슨 허쉬 호른 : OK. 1593 01:15:10,010 --> 01:15:11,830 그래서 다음과 같은 방법을 모두 제공 - 1594 01:15:11,830 --> 01:15:15,210 우리는 그것을 픽셀을주는 것처럼, 사운드 그것 빨강, 파랑, 녹색의 수준을 가지고 있습니다. 1595 01:15:15,210 --> 01:15:19,350 우리는 상대 수준을 변경하려면 따라서, 적색, 청색, 녹색 1596 01:15:19,350 --> 01:15:20,740 그 픽셀에. 1597 01:15:20,740 --> 01:15:28,380 이 코드에서 우리는 변경해야합니다 어디에 상대 빨강, 파랑, 녹색 1598 01:15:28,380 --> 01:15:29,720 주어진 픽셀의 수준. 1599 01:15:29,720 --> 01:15:30,600 우리는 그것을 읽은 후 - 1600 01:15:30,600 --> 01:15:32,520 우리는 그것을 기록하기 전에? 1601 01:15:32,520 --> 01:15:34,564 나에게 줄 번호를 제공합니다. 1602 01:15:34,564 --> 01:15:35,950 >> 다중 학생 : 83. 1603 01:15:35,950 --> 01:15:37,320 >> 제이슨 허쉬 호른 : 83. 1604 01:15:37,320 --> 01:15:38,570 그래서 여기. 1605 01:15:38,570 --> 01:15:40,830 1606 01:15:40,830 --> 01:15:45,710 추리 소설의 경우, 코드는 다음을 수행해야합니다 쓰기는 모두 거기 가야한다. 1607 01:15:45,710 --> 01:15:47,640 그리고 그 코드 만의 당신이 작성해야합니다. 1608 01:15:47,640 --> 01:15:51,520 우리가 듣고처럼, 모두 당신이 필요하기 때문에 이렇게,이 상대적으로 파란색을 변경합니다 1609 01:15:51,520 --> 01:15:54,420 각 픽셀에서 빨강과 녹색 수준. 1610 01:15:54,420 --> 01:15:58,250 >> 당신은 그것을 읽어 봤는데, 지금은있어 를 작성하는 것. 1611 01:15:58,250 --> 01:16:03,100 어떻게받을 수 있나요 -이 일이있는 경우 바로 여기, 배 부르고, 그것은의의 1612 01:16:03,100 --> 01:16:04,570 RGBTRIPLE을 입력 - 1613 01:16:04,570 --> 01:16:08,650 물론, 우리는 bmp.h에서 보았다면, RGBTRIPLE은 무엇입니까? 1614 01:16:08,650 --> 01:16:11,450 1615 01:16:11,450 --> 01:16:12,700 >> 학생 77 : 그것은 구조체입니다. 1616 01:16:12,700 --> 01:16:17,440 1617 01:16:17,440 --> 01:16:18,900 >> 제이슨 허쉬 호른 : RGBTRIPLE 구조체이다. 1618 01:16:18,900 --> 01:16:22,330 우리는 바로 여기 것을 볼 수 있습니다. 1619 01:16:22,330 --> 01:16:26,600 그래서 나는, 말, 액세스하려는 경우 구조체의 빨강 레벨, 어떻게 할 1620 01:16:26,600 --> 01:16:30,005 이 구조체의 붉은 수준을하십니까? 1621 01:16:30,005 --> 01:16:37,280 >> [CLASS 들려오] 1622 01:16:37,280 --> 01:16:38,530 >> 학생 78 : RGBTRIPLE.rgbtred? 1623 01:16:38,530 --> 01:16:47,250 1624 01:16:47,250 --> 01:16:48,856 >> 제이슨 허쉬 호른 : 맞습니까? 1625 01:16:48,856 --> 01:16:53,040 >> 학생 79 : 그것은 트리플해야 대신 RGBTRIPLE 점의 점? 1626 01:16:53,040 --> 01:16:54,120 >> 제이슨 허쉬 호른 : 트리플. 1627 01:16:54,120 --> 01:16:56,700 배는 지역 변수이므로, 여기에, 여기에 포인터가 없습니다. 1628 01:16:56,700 --> 01:16:58,400 그래서 우리는 단지 점 표기법을 사용합니다. 1629 01:16:58,400 --> 01:17:00,480 이것은 나에게 빨간색의 수준을 제공 할 것입니다. 1630 01:17:00,480 --> 01:17:06,180 나는 그것을 변경하려면, 그냥 설정 그것은 다른 무언가 같음. 1631 01:17:06,180 --> 01:17:13,190 그래서 다시,이 코드 줄은 액세스 이이 구조체 내부 변수와 1632 01:17:13,190 --> 01:17:15,070 우리는 새로운 무언가로 설정할 수 있습니다. 1633 01:17:15,070 --> 01:17:20,040 >> 그래서 추리 위해, 다시이있다 본질적으로, 우리는 무엇을 할 필요가있다. 1634 01:17:20,040 --> 01:17:21,170 매우 간단합니다. 1635 01:17:21,170 --> 01:17:25,020 그냥 상대 수준을 변경하고, 코드가가는 곳이다. 1636 01:17:25,020 --> 01:17:27,720 다른 한편으로는, 크기 조정, 조금 까다 롭습니다. 1637 01:17:27,720 --> 01:17:30,900 사실, 크기 조정은 아마도 이 문제의 가장 까다로운 부분을 설정합니다. 1638 01:17:30,900 --> 01:17:32,720 우리는 그것을 통해 갈 수있는 3 분있다. 1639 01:17:32,720 --> 01:17:34,910 >> 그러나 다시, 우리는 이미 작성했습니다 이 코드의 대부분, 그래서 우리 1640 01:17:34,910 --> 01:17:36,500 꽤 잘 알고 있어야합니다. 1641 01:17:36,500 --> 01:17:40,750 우리가하고 싶은 몇 가지가 무엇입니까 당신이에 읽은 경우, 크기 조정 1642 01:17:40,750 --> 01:17:43,470 문제는 설정? 1643 01:17:43,470 --> 01:17:45,290 당신은 저에게주는 경우에, 우리 그들에 대해 말할 수있다. 1644 01:17:45,290 --> 01:17:47,340 우리가 원하는 몇 가지가 무엇입니까? 1645 01:17:47,340 --> 01:17:47,970 >> 학생 80 : 수직 - 1646 01:17:47,970 --> 01:17:52,360 그래서 당신은 수평 크기를 조정해야 그러나 수직뿐만 아니라 크기를 조정? 1647 01:17:52,360 --> 01:17:58,475 >> 제이슨 허쉬 호른 : 그래서 우리가 제공하는 경우 픽셀, 우리는 그것을 크기를 조정하려면 1648 01:17:58,475 --> 01:18:03,460 두 가지 요인, 지금해야 가로 크기 조정 및 크기 조정 1649 01:18:03,460 --> 01:18:05,220 수직. 1650 01:18:05,220 --> 01:18:06,640 그 의미가 있습니까? 1651 01:18:06,640 --> 01:18:07,060 그래. 1652 01:18:07,060 --> 01:18:09,300 그래서 아마 가장 큰 문제. 1653 01:18:09,300 --> 01:18:10,430 그리고 우리는 초에 그것에 대해 이야기 할 것입니다. 1654 01:18:10,430 --> 01:18:11,065 그래. 1655 01:18:11,065 --> 01:18:15,270 >> 학생 81 : 내가 생각하는 방법 당신은 인쇄를 아웃 필요했다 - 1656 01:18:15,270 --> 01:18:15,490 >> 제이슨 허쉬 호른 : 잠깐. 1657 01:18:15,490 --> 01:18:17,580 당신이 무슨 짓을했는지 말해주지 않습니다. 1658 01:18:17,580 --> 01:18:20,620 우리는 논리에서 이야기하는 것입니다. 1659 01:18:20,620 --> 01:18:21,870 >> 학생 81 : OK. 1660 01:18:21,870 --> 01:18:25,090 1661 01:18:25,090 --> 01:18:27,410 질문은 무엇입니까? 1662 01:18:27,410 --> 01:18:28,892 >> 제이슨 허쉬 호른 : 당신은 그냥 손을 올렸다. 1663 01:18:28,892 --> 01:18:31,600 의심의 여지가 없었다. 1664 01:18:31,600 --> 01:18:32,520 내가 그것을 제시 할 수 있습니다. 1665 01:18:32,520 --> 01:18:34,560 나 그냥이 간략하게 논의하자. 1666 01:18:34,560 --> 01:18:38,400 그래서 우리는, 우리는 하나의 픽셀하고자 한 수평, 그것을 복제하고 1667 01:18:38,400 --> 01:18:39,360 수직. 1668 01:18:39,360 --> 01:18:48,920 이상적으로 우리가 여기서하는 일은이다 우리 우리 화소 읽어, 우리는 그것을 쓰기 1669 01:18:48,920 --> 01:18:51,690 시간의 그러나 많은. 1670 01:18:51,690 --> 01:18:54,720 >> 하지만 우리는 여기에 우리의 트릭을 가지고 있기 때문에 우리는로 이동합니다 1671 01:18:54,720 --> 01:18:57,660 다음 라인 그리고 상기 물품 다음 줄의 시작. 1672 01:18:57,660 --> 01:19:02,960 그래서 우리는 모두 복제 할 경우 수평 및 수직 무엇인가 1673 01:19:02,960 --> 01:19:05,050 이 작업을 수행하는 하나의 좋은 방법 - 1674 01:19:05,050 --> 01:19:06,780 좋은 비록 그 할까? 1675 01:19:06,780 --> 01:19:11,950 그래서 우리는 지속적으로 추구 할 필요가 없습니다 우리의 파일의 주위에 물건을 배치합니다. 1676 01:19:11,950 --> 01:19:14,360 >> 그 질문은하지 못할 수도 감각을 만들었지 만, 나는 생각한다 1677 01:19:14,360 --> 01:19:15,800 그것에 대답하는 데 도움이됩니다. 1678 01:19:15,800 --> 01:19:17,210 >> 학생 82 : 배열을 만들기? 1679 01:19:17,210 --> 01:19:20,090 >> 제이슨 허쉬 호른 : 그래서 생각하자 행으로 각 파일의. 1680 01:19:20,090 --> 01:19:22,550 의 행의 관점에서 생각해 보자. 1681 01:19:22,550 --> 01:19:26,670 우리는 우리의 작은에서 우리의 첫 번째 행이있는 경우 그림, 우리는 해당 행을 만들 수 있습니다 1682 01:19:26,670 --> 01:19:30,640 큰 그림에서 큰 행에, 다음 그러나 해당 행을 복제 1683 01:19:30,640 --> 01:19:34,250 이 복제 될 필요가 여러 번, 오히려 픽셀로 픽셀을가는 것보다, 1684 01:19:34,250 --> 01:19:37,260 때 혼란을 가져옵니다 파일을 처리. 1685 01:19:37,260 --> 01:19:38,730 >> 우리가 있던 경우에 때문에 - 1686 01:19:38,730 --> 01:19:41,260 나는 공간이 부족 해요. 1687 01:19:41,260 --> 01:19:46,490 이것은 우리의 파일이며, 우리는이 경우 그 거기에 하나의 픽셀, 우리는 그것을두고 싶은 1688 01:19:46,490 --> 01:19:49,840 바로 거기에, 우리는 여전히 몇 가지가 거기 우리가 때가는 그 필요 1689 01:19:49,840 --> 01:19:51,450 쓰기, 새로운 파일을 생성 - 1690 01:19:51,450 --> 01:19:53,250 우리의 파일이 두 배나 크다. 1691 01:19:53,250 --> 01:19:56,820 >> 그러나 파일의 기능을 정말 어렵다 새로운 라인을 건너 뛸 수 1692 01:19:56,820 --> 01:20:00,260 그런 다음 여기에 돌아가 거기에 물건을 넣어. 1693 01:20:00,260 --> 01:20:04,500 이 작업을 수행하는 것은 거의 불가능하다 그런 그 말이 있다면. 1694 01:20:04,500 --> 01:20:10,180 우리가 행의 관점에서 생각한다면, 우리는 할 수있다 우리의 행을 다음 넣어 - 1695 01:20:10,180 --> 01:20:11,720 수직 행을 복제합니다. 1696 01:20:11,720 --> 01:20:15,860 >> 그리고 우리가 크기를 조정 처리 방법 수직이 아니라 수평보다. 1697 01:20:15,860 --> 01:20:18,810 그 종류를 신속하게, 그리고 조금 혼란. 1698 01:20:18,810 --> 01:20:22,375 불행하게도 우리의 시간이 다. 1699 01:20:22,375 --> 01:20:27,340 나는 당신의 그 밖에 서서 여기에 대한 질문이있는 분 1700 01:20:27,340 --> 01:20:30,500 복구 등의 문제 세트. 1701 01:20:30,500 --> 01:20:32,320 >> 그래서 지금은 연기 할 수 있습니다. 1702 01:20:32,320 --> 01:20:34,480 그리고 또, 당신은 질문이있는 경우에는, 우리는 외부의 대화를 나눌 수 있습니다. 1703 01:20:34,480 --> 01:20:38,294