1 00:00:00,000 --> 00:00:02,670 >> [테마 음악] 2 00:00:02,670 --> 00:00:11,834 3 00:00:11,834 --> 00:00:13,365 >> 스피커 1 : 안녕하세요, 여러분. 4 00:00:13,365 --> 00:00:14,365 섹션에 다시 오신 것을 환영합니다. 5 00:00:14,365 --> 00:00:15,700 6 00:00:15,700 --> 00:00:18,700 , 난 왜 사랑스러운 날 병원을 나온 물론, 여기에 네 개의 당신이 있습니다 7 00:00:18,700 --> 00:00:21,180 아니라 우리의 보통의 팩. 8 00:00:21,180 --> 00:00:22,670 나는 이번 주말에 아픈왔다. 9 00:00:22,670 --> 00:00:24,294 그래서 난 너희들을 위해 별 모양이 없습니다. 10 00:00:24,294 --> 00:00:26,400 그리고 기침을 시작할 수 있습니다 정말이 전역. 11 00:00:26,400 --> 00:00:27,790 그래서 그냥 참아. 12 00:00:27,790 --> 00:00:30,624 정말 볼게요 그리고, 먼저 통과 13 00:00:30,624 --> 00:00:32,290 하지만, 전에 나는 기침 공격을합니다. 14 00:00:32,290 --> 00:00:33,410 15 00:00:33,410 --> 00:00:37,390 그러나 날에 쉽게 그 bit-- 작은 물어 전부입니다. 16 00:00:37,390 --> 00:00:39,370 17 00:00:39,370 --> 00:00:44,289 >> 그래서 했죠 - 우리의 의제 단지 reminder-- 퀴즈는 다음 주입니다. 18 00:00:44,289 --> 00:00:46,830 나는 그래서 당신이 지난 주에 말했다 가드를 당신을 잡을 것입니다. 19 00:00:46,830 --> 00:00:47,954 그래서 나는 당신을 다시 생각 나게 해요. 20 00:00:47,954 --> 00:00:49,180 다음 주 퀴즈. 21 00:00:49,180 --> 00:00:52,730 이를 위해, 다음 주 섹션은 훨씬 더 될 것입니다 22 00:00:52,730 --> 00:00:55,180 집게 리아 나는 시도하고 일부 리뷰에서 일 것이다. 23 00:00:55,180 --> 00:00:58,130 너희들이 할 수 있다면 그래서 저를 보내 나를 도와 24 00:00:58,130 --> 00:01:00,990 당신이 드시 일 당신이 걱정하는,과 25 00:01:00,990 --> 00:01:03,530 당신이하고 싶은 주제 내게는 좋은 것, 커버하는. 26 00:01:03,530 --> 00:01:05,740 그래서 나는 시도하고 작업 할 수 있습니다 우리의 섹션 다음 주에 27 00:01:05,740 --> 00:01:11,540 또는 당신에게 여분의 재료 또는 준비를 보내 다른 곳에서 얻지 못할 수도있다. 28 00:01:11,540 --> 00:01:12,150 >> 그래! 29 00:01:12,150 --> 00:01:13,520 더 많은 사람들이오고있다! 30 00:01:13,520 --> 00:01:17,320 나는 심하게 마지막 그렇게 않았다, 생각 주, 아무도 돌아오고 싶어한다는? 31 00:01:17,320 --> 00:01:18,065 나는 무서워. 32 00:01:18,065 --> 00:01:18,892 33 00:01:18,892 --> 00:01:21,100 다른 세 가지 그래서 우리는 가서 거라고 34 00:01:21,100 --> 00:01:24,850 아르 리디렉션, 파일 I / O, 및 다음 포인터와 동적 메모리. 35 00:01:24,850 --> 00:01:29,160 난 당신이 모든 약 슈퍼 흥분 확신 pointers-- 모두가 좋아하는 주제, 36 00:01:29,160 --> 00:01:31,310 이해하기 간단. 37 00:01:31,310 --> 00:01:33,130 난 너희들이 좋아 것을 가지고 확신? 38 00:01:33,130 --> 00:01:39,510 >> 그래서 첫 번째 것들 먼저, redirection-- 이것은 기본적으로 그냥 방법입니다 39 00:01:39,510 --> 00:01:42,920 어떻게 당신에게 입력을 제어하는 프로그램에 일, 40 00:01:42,920 --> 00:01:44,606 어떻게 당신의 프로그램에서 출력 할 것. 41 00:01:44,606 --> 00:01:46,980 주요 방법 너희들 그것과 상호 작용 한 42 00:01:46,980 --> 00:01:51,650 단지 표준 출력을 통해서이다 여기에 인쇄 화면. 43 00:01:51,650 --> 00:01:55,940 그러나 방법이 있습니다 우리가 여기에 참조로 pipe-- 44 00:01:55,940 --> 00:01:58,980 우리의 words-- 종류 중 하나입니다 파이프 정보의 45 00:01:58,980 --> 00:02:02,850 또는 파일에서 파일로 데이터. 46 00:02:02,850 --> 00:02:05,820 그것은 단지 다른 방법이다 프로그램에 물건을 받고 47 00:02:05,820 --> 00:02:10,681 당신의 프로그램 중, 대신 바로이 화면에 인쇄 48 00:02:10,681 --> 00:02:12,430 또는 일을 입력 명령 줄에서. 49 00:02:12,430 --> 00:02:13,760 50 00:02:13,760 --> 00:02:18,030 >> 그래서 첫 번째는 조금 캐럿보다. 51 00:02:18,030 --> 00:02:22,085 그냥 출력을 인쇄 output-- 그래서 대신 화면의 파일에. 52 00:02:22,085 --> 00:02:23,620 53 00:02:23,620 --> 00:02:29,500 당신은 인쇄 일을했다 그렇다면 "안녕하세요, 세계!" 화면에, 54 00:02:29,500 --> 00:02:32,400 대신 넣어 경우 , output.text 해당하는 55 00:02:32,400 --> 00:02:35,220 output.text이라는 파일을 만듭니다. 56 00:02:35,220 --> 00:02:38,550 당신이 그것을 열 때, 그것은거야 "안녕하세요, 세계!"라고 거기에. 57 00:02:38,550 --> 00:02:41,410 이것은 매우 유용 할 수 있습니다 당신은 오류의 톤이있는 경우 58 00:02:41,410 --> 00:02:43,430 실제로, 우리는이 하나에서 볼 수있다. 59 00:02:43,430 --> 00:02:46,810 두 캐럿을 할 경우에는거야 오류 메시지를 인쇄 할 수 있습니다. 60 00:02:46,810 --> 00:02:52,090 >> 당신은 문제가 있다면 그래서 컴파일, 그것은 오류를 많이하고있다 61 00:02:52,090 --> 00:02:56,770 당신은 노력에 애로있어 명령 줄에서 스크롤하기 62 00:02:56,770 --> 00:02:59,110 모든 그들을 통해, 당신은 할 수 그냥 파일로 인쇄 63 00:02:59,110 --> 00:03:02,130 그래서 그 파일을 엽니 다 그들을 통해 쉽게 스크롤 할 수 있습니다. 64 00:03:02,130 --> 00:03:05,160 실제로 것을 사용 많은 때 디버깅했다 65 00:03:05,160 --> 00:03:07,970 기계 학습에 대한 내 181 psets를. 66 00:03:07,970 --> 00:03:10,000 그래서 나중에 슈퍼 유용 할 수 있습니다. 67 00:03:10,000 --> 00:03:18,370 당신이 프로그램이 경우에도 유용 어쩌면 라이브러리를 생성 68 00:03:18,370 --> 00:03:20,430 또는 일부 세트를 생성 문자열, 그리고 69 00:03:20,430 --> 00:03:22,846 볼 수 있어야 그것은 적절하게 만들어 줄 것입니다. 70 00:03:22,846 --> 00:03:23,860 71 00:03:23,860 --> 00:03:25,160 이 그렇게 할 수있는 방법입니다. 72 00:03:25,160 --> 00:03:28,280 >> 그래서 당신은, 파일을하여 인쇄하는 경우 더 쉽게 검사 할 수 있습니다, 맞죠? 73 00:03:28,280 --> 00:03:30,930 스크롤 시도하는 것보다 명령 줄을 통해. 74 00:03:30,930 --> 00:03:32,740 75 00:03:32,740 --> 00:03:35,820 그리고 한 가지주의해야 할 그 단지 큰 함께 76 00:03:35,820 --> 00:03:40,090 캐럿보다, 당신이 작성하는 경우 이미 exists-- 파일 77 00:03:40,090 --> 00:03:44,990 그래서 우리는이 첫 번째 실행 한 경우 등 시간, 우리는 output.text에 넣어 78 00:03:44,990 --> 00:03:49,970 그리고 우리는 두 번째 프로그램을했다 프로그램 두 가지로이 인쇄 된 것을 79 00:03:49,970 --> 00:03:54,250 그리고, output.text보다 더 큰했다 그렇게 거저 덮어 쓰게됩니다 80 00:03:54,250 --> 00:03:56,715 그 어느 무엇 덮어 해당 파일로 시작합니다. 81 00:03:56,715 --> 00:03:57,720 82 00:03:57,720 --> 00:04:00,750 >> 당신이 추가 싶다면 파일에, 우리가 여기에 참조로, 83 00:04:00,750 --> 00:04:04,779 당신은 단지 징후 이상의 큰 작업을 수행. 84 00:04:04,779 --> 00:04:05,820 그리고 여기에 추가합니다. 85 00:04:05,820 --> 00:04:06,750 그것은을 덮어 쓰지 않습니다. 86 00:04:06,750 --> 00:04:09,770 여러 실행해야한다면 프로그램은 종류의 유지 및 87 00:04:09,770 --> 00:04:13,170 그들 모두가 무엇 추적 파일에 당신에게 반환 88 00:04:13,170 --> 00:04:14,190 즉, 그것을 할 수있는 방법입니다. 89 00:04:14,190 --> 00:04:17,231 당신은 상관하지 않을 경우 파일에 무엇을 그것은, 덮어 쓰기 할 수있어 90 00:04:17,231 --> 00:04:19,204 당신은보다 하나 이상을 사용할 수 있습니다. 91 00:04:19,204 --> 00:04:20,600 즉 모든 사람에게 의미가 있습니까? 92 00:04:20,600 --> 00:04:23,205 93 00:04:23,205 --> 00:04:31,140 >> 청중 :처럼 점은 큰 안녕하세요 슬래시 출력 도트 텍스트보다, 같은 두 번, 94 00:04:31,140 --> 00:04:34,030 그냥 만 출력에 표시합니다 도트 텍스트 두 번째 외엔 ... 95 00:04:34,030 --> 00:04:34,810 >> 스피커 1 : 맞아요. 96 00:04:34,810 --> 00:04:40,450 그래서 그냥 완전히 기본적 것 로 시작하는이 무엇 덮어 씁니다. 97 00:04:40,450 --> 00:04:44,260 여기에서,이 파일 만약 이미 output.text 98 00:04:44,260 --> 00:04:48,230 당신이 전화를 기본적으로 어떤 존재 그 또 하나의 이상으로 99 00:04:48,230 --> 00:04:51,920 당신은 생각할 수있는 것보다 등 그 파일을 대체. 100 00:04:51,920 --> 00:04:54,824 당신이 단어를 저장 할 때처럼 당신이로 저장 할 문서와, 101 00:04:54,824 --> 00:04:57,365 당신은 동일한 이름을 유지하고, 완전히 하구 덮어 102 00:04:57,365 --> 00:04:58,680 이 물건의 같은 종류입니다. 103 00:04:58,680 --> 00:05:00,380 104 00:05:00,380 --> 00:05:03,550 사람에 대한 질문이 그냥 파일로 출력? 105 00:05:03,550 --> 00:05:05,051 106 00:05:05,051 --> 00:05:05,550 신난다. 107 00:05:05,550 --> 00:05:11,440 >> 그래서 분명히, 당신은 리버스 경우 방향 화살표, 그것은 입력을 할 수 있습니다. 108 00:05:11,440 --> 00:05:13,090 109 00:05:13,090 --> 00:05:19,960 그래서 너희들했을 때 시저 또는 Visioneer의 같은 110 00:05:19,960 --> 00:05:23,195 당신은 입력 뭔가를했다, 당신은 명령 줄 인수했다 111 00:05:23,195 --> 00:05:24,960 그것은 실제로 입력. 112 00:05:24,960 --> 00:05:27,410 이것은 그렇게하는 또 다른 방법입니다. 113 00:05:27,410 --> 00:05:30,520 그래서 그 대신 대기 명령 프롬프트, 114 00:05:30,520 --> 00:05:33,800 당신이 물었을 때처럼 시저 또는 Visioneer의에서 메시지, 115 00:05:33,800 --> 00:05:36,490 는 텍스트 파일이 있다면 즉, 메시지를했습니다 116 00:05:36,490 --> 00:05:38,280 당신은 단지에 입력 할 수있다. 117 00:05:38,280 --> 00:05:44,930 >> 이 점처럼한다면 그래서 시저를 슬래시 3 화살표 입력 텍스트, 이하 어느 118 00:05:44,930 --> 00:05:47,240 당신의 메시지는,이다 잘 실행됩니다. 119 00:05:47,240 --> 00:05:51,310 120 00:05:51,310 --> 00:05:54,020 때 시저 프로그램을 실제로 사용자의 입력을 요청, 121 00:05:54,020 --> 00:05:57,360 이미 때문에있을 것입니다 이 파일에 입력했습니다. 122 00:05:57,360 --> 00:05:58,830 즉 또 다른 방법입니다. 123 00:05:58,830 --> 00:06:02,445 output-- 그냥 역 당신의 데이터를 바로 입력. 124 00:06:02,445 --> 00:06:04,570 125 00:06:04,570 --> 00:06:06,680 >> 그리고 마지막 하나는 파이프입니다. 126 00:06:06,680 --> 00:06:07,780 그래서 하나의 정말 멋진. 127 00:06:07,780 --> 00:06:09,890 그것은 당신을 수 있으므로 하나의 출력을 128 00:06:09,890 --> 00:06:13,695 프로그램과 같이 넣어 다른 프로그램에 입력. 129 00:06:13,695 --> 00:06:15,250 130 00:06:15,250 --> 00:06:18,630 난 당신이있는 경우를 모른다 암호문 해독 연주 131 00:06:18,630 --> 00:06:20,590 그 CS50는있을 수 있습니다 이 것을 제공하지만, 132 00:06:20,590 --> 00:06:27,380 당신은 몇 가지 샘플을 채취 할 수 있도록 , 파일 암호화에 입력, 133 00:06:27,380 --> 00:06:30,350 다음 거기에서 입력 당신의 암호 해독에 그 134 00:06:30,350 --> 00:06:32,470 확인 확인 동일한 밝혀졌다. 135 00:06:32,470 --> 00:06:34,050 그래서 종류의 세 방향 루프처럼. 136 00:06:34,050 --> 00:06:38,400 137 00:06:38,400 --> 00:06:39,423 그것을 위해 이동합니다. 138 00:06:39,423 --> 00:06:41,785 >> 청중 : 프로그램의 경우 여러 개의 입력 단자가 139 00:06:41,785 --> 00:06:47,646 어떤 입력을 알 수있는 방법이있다 위한 텍스트 파일 또는 출력을 사용 하는가? 140 00:06:47,646 --> 00:06:49,325 >> 스피커 1 : 그것은 여러 개의 입력을 가지고있다. 141 00:06:49,325 --> 00:06:52,190 142 00:06:52,190 --> 00:07:00,430 그것의 때 input-- 파일 무엇이든간에 입력을위한 첫 번째 시간을 요구, 그건 143 00:07:00,430 --> 00:07:03,240 가고는, 내가 생각하기에, 가정 전체 파일에 파이프로 이동. 144 00:07:03,240 --> 00:07:03,979 145 00:07:03,979 --> 00:07:07,145 여러 개의 입력을 가지고 있다면, 당신이있어 그래서 여러 파일에서 배관 할 것. 146 00:07:07,145 --> 00:07:08,190 147 00:07:08,190 --> 00:07:12,390 그래서 만약 당신이 메시지를 요구하고 코드에서 세 번, 148 00:07:12,390 --> 00:07:15,230 당신은 퍼팅 할거야 세 가지 다른 파일. 149 00:07:15,230 --> 00:07:15,980 그리고 그것은 미친 가져옵니다. 150 00:07:15,980 --> 00:07:18,188 그리고 당신은 필요가 없습니다 지금 그것에 대해 우려하고있다. 151 00:07:18,188 --> 00:07:19,150 하지만 그 생각이다. 152 00:07:19,150 --> 00:07:20,680 153 00:07:20,680 --> 00:07:26,822 >> 그래서 그래, 파이프는 하나의 단지 출력입니다 프로그램은 다른에 입력을 사용합니다. 154 00:07:26,822 --> 00:07:27,665 모두가 좋은? 155 00:07:27,665 --> 00:07:28,565 156 00:07:28,565 --> 00:07:29,065 쿨. 157 00:07:29,065 --> 00:07:30,170 158 00:07:30,170 --> 00:07:30,932 확인을 클릭합니다. 159 00:07:30,932 --> 00:07:32,890 당신은 아마 필요가 없습니다 그것으로 너무 많은 일을 수행 할 수있다. 160 00:07:32,890 --> 00:07:35,670 하지만 당신은 이해해야합니다 방법은이를 사용할 수 있습니다. 161 00:07:35,670 --> 00:07:38,910 그리고 경우가있다 그 당신은 그것을 사용할 수 있습니다. 162 00:07:38,910 --> 00:07:44,590 >> 그래서 / O-- 당신이있어 알고 파일 말했듯이 우리는 읽는 데 사용하고 163 00:07:44,590 --> 00:07:50,500 거기에 우리의 화면에 기록, 있는 표준 및 표준 출력이다. 164 00:07:50,500 --> 00:07:54,370 그리고 너희들이되었습니다 무엇 여기에 클래스의 시작부터하고. 165 00:07:54,370 --> 00:07:58,220 그러나 당신은 또한 파일을 읽고 쓸 수 있습니다, 나는 / O-- 그래서 입력을 파일 모든 파일입니다, 166 00:07:58,220 --> 00:07:59,850 출력은가 약자 모든입니다. 167 00:07:59,850 --> 00:08:00,930 168 00:08:00,930 --> 00:08:04,360 그래서 이것은 기본적 것을 의미한다 당신은 지금 당신의 데이터를 저장할 수 있습니다. 169 00:08:04,360 --> 00:08:08,460 >> 당신은 단지 그것을 인쇄 할 때 화면은 기본적으로 마우스 오른쪽 사라 졌어요? 170 00:08:08,460 --> 00:08:12,507 즉시 안녕하세요 "만들기로 세계 "를 실행에"Hello World " 171 00:08:12,507 --> 00:08:14,090 그것은 화면에 "Hello World"를 출력합니다. 172 00:08:14,090 --> 00:08:16,370 하지만 당신은 정말 할 수 없어 그곳에서 아무것도. 173 00:08:16,370 --> 00:08:18,950 당신은 텍스트로 저장하는 경우 파일, 갑자기 174 00:08:18,950 --> 00:08:22,789 당신은 당신이 허용 된이 데이터를 조작하거나 파일에 넣어, 175 00:08:22,789 --> 00:08:24,080 이상 프로그램에 넣어. 176 00:08:24,080 --> 00:08:26,370 177 00:08:26,370 --> 00:08:29,290 이유 중 하나는 왜 우리가이 단지입니다 178 00:08:29,290 --> 00:08:31,560 나중에 사용하기 위해 데이터를 저장하는 방법이있다. 179 00:08:31,560 --> 00:08:34,790 180 00:08:34,790 --> 00:08:37,279 >> 여기 몇 가지 단계가 다만 표준을 걷는 181 00:08:37,279 --> 00:08:39,450 I / O. 단계에서, 당신 참조를 만들 필요가 182 00:08:39,450 --> 00:08:43,480 모든과 파일에 캡은 스타 파일. 183 00:08:43,480 --> 00:08:45,740 그래서 파일에 대한 포인터를 만듭니다. 184 00:08:45,740 --> 00:08:48,080 185 00:08:48,080 --> 00:08:49,650 그럼 당신은 그것을 열려. 186 00:08:49,650 --> 00:08:52,940 그리고 당신은, 말 그대로, 말 단지 파일 FOPEN 같습니다. 187 00:08:52,940 --> 00:08:57,400 그리고 이것은을 반환하는 것입니다 방금 연 파일의 포인터. 188 00:08:57,400 --> 00:08:59,610 189 00:08:59,610 --> 00:09:01,460 당신의 몇 가지를 보았다 근무 시간에 친구들. 190 00:09:01,460 --> 00:09:07,400 >> 그러나 것들 중 하나 기억해 포인터입니다 191 00:09:07,400 --> 00:09:10,409 바로 일부 주소 또는 널 (null)이 될 수 있습니다? 192 00:09:10,409 --> 00:09:12,700 우리는 어느 경우 어디에가있는 경우 뭔가, null를 돌려 수 193 00:09:12,700 --> 00:09:14,990 우리는 무엇을해야합니까 무엇 우리는 지금까지 그것을 사용하기 전에? 194 00:09:14,990 --> 00:09:16,220 195 00:09:16,220 --> 00:09:19,000 우리는 있는지 확인해야합니다 널 (null) 여부, 맞아? 196 00:09:19,000 --> 00:09:23,600 여러분 중 몇몇은 있었다 수 있기 때문에 문제가 어디에서 어떤 객체 197 00:09:23,600 --> 00:09:26,110 브레이크 아웃에 반환되었다 null입니다. 198 00:09:26,110 --> 00:09:28,170 당신은 수행하려고 거기에 몇 가지 기능. 199 00:09:28,170 --> 00:09:29,770 그리고 컴퓨터 사이트에 오류. 200 00:09:29,770 --> 00:09:30,725 오른쪽? 201 00:09:30,725 --> 00:09:33,640 난 당신이 몇 내기 그 문제를 가지고있을 수 있습니다. 202 00:09:33,640 --> 00:09:38,890 >> FOPEN에 따라서는 fopen 어느 것 파일에 대한 포인터를 반환, 203 00:09:38,890 --> 00:09:41,200 또는 뭔가 잘못되면, 널 (null)을 반환하는 것입니다. 204 00:09:41,200 --> 00:09:45,980 그래서 당신은 항상 확인해야 null을 반환하지 않았 음 205 00:09:45,980 --> 00:09:47,880 당신은 다른 작업을 수행하기 전에. 206 00:09:47,880 --> 00:09:49,110 207 00:09:49,110 --> 00:09:51,974 이 표준 패러다임처럼 여기에 필요 거라고. 208 00:09:51,974 --> 00:09:54,390 기회는 지금이 있다면 그 뭔가, null를 돌려 수 209 00:09:54,390 --> 00:09:56,590 확인에게 그것을 확인하십시오 당신은 진행되지 않습니다 전에. 210 00:09:56,590 --> 00:09:58,911 그렇지 않으면, 당신은거야 사랑스러운 사이트 오류를​​ 얻을 수 있습니다. 211 00:09:58,911 --> 00:10:00,410 그리고 아무도 그와 거래를 좋아한다. 212 00:10:00,410 --> 00:10:03,180 213 00:10:03,180 --> 00:10:06,410 >> 우리가 여기서 보는 바와 같이, 첫 번째 인수 그래서 파일에 바로 경로입니다. 214 00:10:06,410 --> 00:10:09,380 그 파일이 존재하지 않으면 그것은 그 파일을 만들 것입니다. 215 00:10:09,380 --> 00:10:10,713 그리고 그것은 단지 빈 될 것. 216 00:10:10,713 --> 00:10:10,789 217 00:10:10,789 --> 00:10:13,080 그리고 두 번째 인수 원하는 모드입니다. 218 00:10:13,080 --> 00:10:14,610 우리는이 파일에서 읽을 수 있습니까? 219 00:10:14,610 --> 00:10:15,560 당신은 그것에서 작성 하시겠습니까? 220 00:10:15,560 --> 00:10:16,476 당신은 추가 하시겠습니까? 221 00:10:16,476 --> 00:10:17,600 222 00:10:17,600 --> 00:10:20,670 그래서 실제로 내가 방금 말했던 것을 파일이 존재하지 않는 경우 223 00:10:20,670 --> 00:10:23,400 당신은 읽기 위해 노력하고 그것은, 그것은 오류가 발생하는 것입니다. 224 00:10:23,400 --> 00:10:26,890 파일이 경우 같은 이름 - 만약 file.text는 아직 존재하지 않는 225 00:10:26,890 --> 00:10:29,250 당신이 쓰고 싶은 여기에, 그것은 생성합니다 226 00:10:29,250 --> 00:10:33,110 당신을 위해 file.text라는 빈 파일. 227 00:10:33,110 --> 00:10:36,612 그리고 당신은 추가하려는 경우, 당신은 같은 일을해야합니다. 228 00:10:36,612 --> 00:10:38,081 그 의미가 있습니까? 229 00:10:38,081 --> 00:10:40,580 당신은에서 읽으려고하는 경우 아직 존재하지 않는 파일, 230 00:10:40,580 --> 00:10:41,590 이 오류가 발생합니다. 231 00:10:41,590 --> 00:10:44,340 그렇지 않으면, 파일을 생성 할 것이다 에 대한 당신은 당신이 원하는 것을 할. 232 00:10:44,340 --> 00:10:45,970 233 00:10:45,970 --> 00:10:46,470 쿨. 234 00:10:46,470 --> 00:10:47,510 235 00:10:47,510 --> 00:10:48,880 이제 우리는 파일에서 읽을 수 있습니다. 236 00:10:48,880 --> 00:10:52,570 그리고는가는 가지입니다 다른 기능을 통해 237 00:10:52,570 --> 00:10:58,980 우리는 파일 I / O를 위해이 있는지 확인하십시오. 이 의지 이 주 PSET에 필요 238 00:10:58,980 --> 00:11:00,505 내가 정확히 기억합니다. 239 00:11:00,505 --> 00:11:02,880 예, 그것은 절대적으로 될 것입니다 이번 주 PSET 필요. 240 00:11:02,880 --> 00:11:04,260 241 00:11:04,260 --> 00:11:07,010 그래서는 fgetc 다음 문자를 반환합니다. 242 00:11:07,010 --> 00:11:08,350 243 00:11:08,350 --> 00:11:10,300 다만 행의 텍스트를 반환 쓴 fgets. 244 00:11:10,300 --> 00:11:11,790 245 00:11:11,790 --> 00:11:14,610 그것은 아무것도를 반환합니다 개행 깨질 것이다. 246 00:11:14,610 --> 00:11:15,950 247 00:11:15,950 --> 00:11:18,700 그래서 FREAD 특정을 읽고 바이트와​​ 장소를 수 248 00:11:18,700 --> 00:11:20,700 배열에있는 뭔가 당신이 할 수있다 249 00:11:20,700 --> 00:11:25,485 다시 size--로 할 수있는 유용 할 수 있습니다. 250 00:11:25,485 --> 00:11:26,550 251 00:11:26,550 --> 00:11:29,290 >> 얼마나 많은 사람들이 읽고 그런데 PSET 스펙? 252 00:11:29,290 --> 00:11:30,980 253 00:11:30,980 --> 00:11:32,261 확인을 클릭합니다. 254 00:11:32,261 --> 00:11:32,760 [들림] 255 00:11:32,760 --> 00:11:35,380 256 00:11:35,380 --> 00:11:36,580 >> 스피커 1 : OK. 257 00:11:36,580 --> 00:11:37,530 좋아. 258 00:11:37,530 --> 00:11:41,940 이 재미 PSET이다 ... 그 얘기도 확실히 읽어보십시오. 259 00:11:41,940 --> 00:11:51,320 당신은 삭제 된 메모리를 복구하는 얻을 작동 할 때 정말 흥분 card--. 260 00:11:51,320 --> 00:11:54,100 그러나 확실히, 그것을 읽기 시작. 261 00:11:54,100 --> 00:11:56,280 나에게 이야기를 와서 당신 경우 그것에 대해 질문이 있습니다. 262 00:11:56,280 --> 00:11:59,290 >> 확인을 위하여 내가 말했듯이, FREAD 바이트의 특정 번호를 판독한다. 263 00:11:59,290 --> 00:12:01,340 264 00:12:01,340 --> 00:12:03,590 즉, 어떤 임의의 수의 당신은 설정하는 거라고. 265 00:12:03,590 --> 00:12:05,990 266 00:12:05,990 --> 00:12:08,260 그리고 바로 이동 fseek의 특정 위치에. 267 00:12:08,260 --> 00:12:11,150 아마 당신은 상관하지 않습니다 다음 10 바이트에 대한. 268 00:12:11,150 --> 00:12:12,880 당신은 그냥 건너 뛰고 싶어요. 269 00:12:12,880 --> 00:12:14,030 당신은 그 걱정하지 않는다. 270 00:12:14,030 --> 00:12:16,280 당신은 바이트 (11)에서 시작하여 읽고 싶어. 271 00:12:16,280 --> 00:12:18,252 fseek는 당신이 할 수 있습니다. 272 00:12:18,252 --> 00:12:20,710 그래서 그것은 당신이 선택 할 수 있습니다 당신이 읽고있는 것에 대해. 273 00:12:20,710 --> 00:12:25,880 는 fgetc,는 fgets 및 FREAD 읽기 때문에 파일의 특정 장소에서. 274 00:12:25,880 --> 00:12:27,260 275 00:12:27,260 --> 00:12:35,090 >> 이에 대해 생각하는 방법은이 경우이다 우리의 파일이 먼저 그것을 열 때, 276 00:12:35,090 --> 00:12:41,140 당신은 파일에이 위치를 즉, 처음에 시작합니다. 277 00:12:41,140 --> 00:12:45,040 때마다 전화 는 fgetc, fgetf, 또는 FREAD, 278 00:12:45,040 --> 00:12:48,875 그것부터 시작하는거야 이 위치 마커. 279 00:12:48,875 --> 00:12:51,340 280 00:12:51,340 --> 00:12:55,245 이제 당신이 읽고 싶어한다고 가정 해 봅시다 여기에 메모리의이 덩어리. 281 00:12:55,245 --> 00:12:56,300 282 00:12:56,300 --> 00:12:57,960 당신은 호출 할 수 없습니다. 283 00:12:57,960 --> 00:13:02,430 당신은 여기 추구해야 다음 거기에서 읽기 284 00:13:02,430 --> 00:13:06,540 또는 읽기, 도착, 또는 getc 그룹, 당신이 원하는에 따라. 285 00:13:06,540 --> 00:13:09,310 그러니 당신을 수 있습니다 추​​구 메모리의 일부를 건너 뜁니다. 286 00:13:09,310 --> 00:13:11,590 그리고 그 만의 당신이 일을 건너 뛸 수 있습니다 방법 287 00:13:11,590 --> 00:13:14,012 당신의 버퍼를 읽는하지 않고. 288 00:13:14,012 --> 00:13:15,470 즉 모든 사람에게 의미가 있습니까? 289 00:13:15,470 --> 00:13:21,110 290 00:13:21,110 --> 00:13:24,780 >> 물론, 거기에 병렬 이곳에 많은 291 00:13:24,780 --> 00:13:27,780 우리의 출력 또는 입력 리디렉션, 당신은 읽고 쓸 수있다. 292 00:13:27,780 --> 00:13:31,800 그래서 fputc 단지 기록 파일에 문자. 293 00:13:31,800 --> 00:13:33,655 fputs 선을 기록합니다. 294 00:13:33,655 --> 00:13:35,030 295 00:13:35,030 --> 00:13:37,420 fprintf와는 형식화 된 출력을 인쇄합니다. 296 00:13:37,420 --> 00:13:41,190 당신이 탭을한다면, 또는 공간, 또는 이것 저것. 297 00:13:41,190 --> 00:13:44,180 그리고 fwrite 같은 몇 가지를 기록 파일 바이트의 배열입니다. 298 00:13:44,180 --> 00:13:48,860 그래서이 같은 방법은 대개 fwrite와 FREAD은 유사하다 299 00:13:48,860 --> 00:13:57,550 opposites--는 fgets, fputs 및 다음 fputc와 fgetc-- 많은 300 00:13:57,550 --> 00:14:00,710 미친, 빠른 것. 301 00:14:00,710 --> 00:14:05,300 >> 그냥 가지이 핸디 ... 계속 당신이 다른 시간을해야합니다 302 00:14:05,300 --> 00:14:08,680 어디 어쩌면 당신이 원하는 한번에 한 문자. 303 00:14:08,680 --> 00:14:09,890 어쩌면 당신은 전체 라인을 원한다. 304 00:14:09,890 --> 00:14:14,320 당신의 사전 pset--으로 이는 두 가지의 Pset에, 305 00:14:14,320 --> 00:14:19,690 나는 우리가 당신에게 전체를 제공, 생각 텍스트 형식으로 사전 306 00:14:19,690 --> 00:14:22,252 있는 모든 단어가 선으로 구분. 307 00:14:22,252 --> 00:14:24,210 당신이 읽고 싶어한다면 한 번에 하나의 단어, 308 00:14:24,210 --> 00:14:31,769 당신이 읽는다면 당신은 무엇을 사용할 수 있습니다 그들은 모두 새로운 라인에 분리하고 309 00:14:31,769 --> 00:14:33,310 당신은 한 번에 하나의 단어를 원하는? 310 00:14:33,310 --> 00:14:35,320 311 00:14:35,320 --> 00:14:36,040 >> 청중 :는 fgets 312 00:14:36,040 --> 00:14:36,748 >> 스피커 1 : 맞아요. 313 00:14:36,748 --> 00:14:39,960 Fgets-- 그 반환하기 때문에 무엇이든 한 줄에 있습니다. 314 00:14:39,960 --> 00:14:42,750 그리고 모든 단어는 인 경우 자신의 라인은, 우리는 fgets를 사용할 수 있습니다. 315 00:14:42,750 --> 00:14:44,511 316 00:14:44,511 --> 00:14:45,010 쿨. 317 00:14:45,010 --> 00:14:47,290 그 의미, 모두를합니까? 318 00:14:47,290 --> 00:14:48,020 쿨? 319 00:14:48,020 --> 00:14:50,020 그래, 우리는에받을거야 포인터 재미있는 부분 320 00:14:50,020 --> 00:14:51,728 곧, 어디를 일부 수학을 얻을. 321 00:14:51,728 --> 00:14:52,776 그리고 그것은 잘 될 것입니다. 322 00:14:52,776 --> 00:14:55,690 323 00:14:55,690 --> 00:14:57,740 >> 파일을 닫습니다 step-- 마지막. 324 00:14:57,740 --> 00:15:01,090 여기에 너무 많은 것들과, 우리의 패러다임 중 하나 325 00:15:01,090 --> 00:15:03,550 그것을 반환 할 수있는 경우입니다 NULL, NULL이 있는지 확인합니다. 326 00:15:03,550 --> 00:15:06,160 당신이 뭔가를 열 경우, 당신은 더 나은 닫을 것. 327 00:15:06,160 --> 00:15:10,419 당신이 때까지 OK, 그래서 당신은 안 끝났어 당신이 그것을 폐쇄하지 않았다면 다. 328 00:15:10,419 --> 00:15:12,585 종류의 것이 이상하지 것처럼 뚱뚱한 여자가 노래까지. 329 00:15:12,585 --> 00:15:14,130 그것은 당신의 파일을 닫는 같다. 330 00:15:14,130 --> 00:15:16,860 331 00:15:16,860 --> 00:15:19,190 여기, 말한대로 단지 항상 반복합니다 332 00:15:19,190 --> 00:15:21,750 당신이있어 전에 파일을 엽니 다 읽기 나 쓰기. 333 00:15:21,750 --> 00:15:24,450 당신이 그것을 연 경우 항상 닫습니다. 334 00:15:24,450 --> 00:15:25,460 좋아? 335 00:15:25,460 --> 00:15:25,960 쿨. 336 00:15:25,960 --> 00:15:26,835 >> 그래서 여기에 예입니다. 337 00:15:26,835 --> 00:15:29,250 338 00:15:29,250 --> 00:15:34,330 내가 모르는 tiny-- 있도록하는 경우 사람들은 아주 잘 것을 볼 수 있습니다. 339 00:15:34,330 --> 00:15:36,805 단지 우리가 증가 할 경우, 어떻게 든 밝기. 340 00:15:36,805 --> 00:15:40,430 341 00:15:40,430 --> 00:15:45,030 내가 할 수있는 경우에 저 실제로이 작업을 수행 할 수 있습니다. 342 00:15:45,030 --> 00:15:48,020 343 00:15:48,020 --> 00:15:51,470 OK, 너희들이 할 수없는 정말 당신, 그 모든 수를 참조하십시오? 344 00:15:51,470 --> 00:15:52,905 OK, 우리는,이 작업을 수행하는 것입니다. 345 00:15:52,905 --> 00:16:35,094 346 00:16:35,094 --> 00:16:35,594 [들림] 347 00:16:35,594 --> 00:16:56,670 348 00:16:56,670 --> 00:16:58,605 >> 나는이 볼 훨씬 더 가정합니다. 349 00:16:58,605 --> 00:17:17,330 350 00:17:17,330 --> 00:17:19,455 사람은 어디에서 볼 수 있습니까 문제는 마우스를 갔다입니까? 351 00:17:19,455 --> 00:17:22,837 아, 거기는 투쟁 할 건 ...! 352 00:17:22,837 --> 00:17:48,910 353 00:17:48,910 --> 00:17:49,520 >> 확인을 클릭합니다. 354 00:17:49,520 --> 00:17:53,845 기본적으로, 너희들은 종류가 있어야합니다 어떤이의 아이디어로하고있다. 355 00:17:53,845 --> 00:17:56,740 356 00:17:56,740 --> 00:17:57,600 그것은 완벽 하진. 357 00:17:57,600 --> 00:17:58,851 358 00:17:58,851 --> 00:18:02,425 지출보다하지만 오히려 그것을 설명 할 것 더 많은 시간이 제대로 포맷하려고합니다. 359 00:18:02,425 --> 00:18:03,610 360 00:18:03,610 --> 00:18:07,280 기본적으로, 당신이 여기에서 보는 바와 같이, 우리는 파일 열기 시작합니다. 361 00:18:07,280 --> 00:18:09,620 그리고 우리는 몇 가지가 우리가 데이터베이스 파일 362 00:18:09,620 --> 00:18:12,300 그 열기는 학생들의 말한다. 363 00:18:12,300 --> 00:18:14,020 그리고 우리는 쓸 것입니다. 364 00:18:14,020 --> 00:18:15,060 365 00:18:15,060 --> 00:18:17,720 그래서 물론, null를 돌려줍니다. 366 00:18:17,720 --> 00:18:19,650 그래서 우리는 널 (null)를 확인해야합니다. 367 00:18:19,650 --> 00:18:22,930 그리고 그것은 아니다 다음 경우 null의 경우, 우리는을 통해 이동합니다. 368 00:18:22,930 --> 00:18:25,660 보시다시피, 우리는있어 여기를 반복합니다. 369 00:18:25,660 --> 00:18:26,960 학생들이 있습니다. 370 00:18:26,960 --> 00:18:30,520 학생들은 세 가지로 정의 해시입니다. 371 00:18:30,520 --> 00:18:34,060 그리고 우리가하는 일은 우리가 있습니다 오른쪽 파일로 인쇄? 372 00:18:34,060 --> 00:18:36,975 그래서 우리는 우리의 파일을 밖으로 인쇄? 373 00:18:36,975 --> 00:18:47,040 374 00:18:47,040 --> 00:18:48,906 >> 청중 : 점수 배열에 그인가? 375 00:18:48,906 --> 00:18:49,680 >> 스피커 1 : 그래. 376 00:18:49,680 --> 00:18:50,980 에 점수 정확히 array--. 377 00:18:50,980 --> 00:18:53,050 그래서 우리는이를 열고있다 데이터베이스 파일, 어느 378 00:18:53,050 --> 00:18:56,040 나는 가정은 어떤 종류입니다 등급 데이터베이스. 379 00:18:56,040 --> 00:19:01,100 그리고 우리는 그냥 인쇄하는 해당 파일에 각 학생의 점수. 380 00:19:01,100 --> 00:19:02,140 쿨? 381 00:19:02,140 --> 00:19:02,640 좋은. 382 00:19:02,640 --> 00:19:03,811 383 00:19:03,811 --> 00:19:04,310 신난다. 384 00:19:04,310 --> 00:19:05,100 확인을 클릭합니다. 385 00:19:05,100 --> 00:19:06,950 난 ...을 돌아 보자 386 00:19:06,950 --> 00:19:08,646 >> 청중 : 나는 빠른 질문이 있습니다. 387 00:19:08,646 --> 00:19:11,570 루프의 printf하지에인가? 388 00:19:11,570 --> 00:19:12,870 그건 그냥 경우 루프에서입니까? 389 00:19:12,870 --> 00:19:14,370 스피커 1 : 아니, 루프에 있습니다. 390 00:19:14,370 --> 00:19:16,150 391 00:19:16,150 --> 00:19:18,810 여기까지 잘 내 마우스를 볼 수 없습니다. 392 00:19:18,810 --> 00:19:21,359 그래서 난에 어려움을 겪고있어 제대로 형식이. 393 00:19:21,359 --> 00:19:22,525 이 브래킷은 사라해야합니다. 394 00:19:22,525 --> 00:19:23,610 395 00:19:23,610 --> 00:19:25,130 여기 아래 있어야한다. 396 00:19:25,130 --> 00:19:26,605 이 루프에 대한 귀하의 무엇이다. 397 00:19:26,605 --> 00:20:10,680 398 00:20:10,680 --> 00:20:11,180 가. 399 00:20:11,180 --> 00:20:12,160 지금은 꽤 있습니다. 400 00:20:12,160 --> 00:20:16,720 그래서 그것을 제외하고는 나중에 ... 방법이다 내가 기각 마지막 브라켓. 401 00:20:16,720 --> 00:20:17,220 확인을 클릭합니다. 402 00:20:17,220 --> 00:20:19,491 즉 모든 사람에게 의미가 있습니까? 403 00:20:19,491 --> 00:20:19,990 확인을 클릭합니다. 404 00:20:19,990 --> 00:20:23,750 우리는 이동거야 다음 일에 그러고 나서 ... 405 00:20:23,750 --> 00:20:26,180 이는 실제로, 당신은거야 코드를 볼 필요가 있습니다. 406 00:20:26,180 --> 00:20:28,370 그래서 난 그냥 갈거야 그 이상 지금 복사합니다. 407 00:20:28,370 --> 00:20:31,500 408 00:20:31,500 --> 00:20:32,000 확인을 클릭합니다. 409 00:20:32,000 --> 00:20:35,110 그래서이 코드 너희들을 보여 드리겠습니다. 410 00:20:35,110 --> 00:20:38,240 그리고 나는 당신이 시도하고도 할 이 해야하는 무엇을 할 수 있습니다. 411 00:20:38,240 --> 00:20:49,740 412 00:20:49,740 --> 00:20:52,480 >> 그래서 분 정도 걸릴 ... 그 얘기 주어진. 413 00:20:52,480 --> 00:20:54,440 시도하고 여기에 무슨 일이 일어나고 있는지 알아. 414 00:20:54,440 --> 00:21:58,840 415 00:21:58,840 --> 00:21:59,570 >> 어떤 아이디어? 416 00:21:59,570 --> 00:22:08,180 417 00:22:08,180 --> 00:22:12,470 >> 우리는 우리가 가지고 있다는 것을 알고 적어도 두 명령 줄에서 인수, 맞죠? 418 00:22:12,470 --> 00:22:16,270 나는 중 하나가 될 것입니다 가정 그 [들리지] 우리의 프로그램은의 419 00:22:16,270 --> 00:22:17,530 다음 뭔가. 420 00:22:17,530 --> 00:22:19,980 [들리지]가 작은 경우 때문에 두보다, 우리는 그들을 소리. 421 00:22:19,980 --> 00:22:21,140 오른쪽? 422 00:22:21,140 --> 00:22:25,300 그리고 사용에서, 그것은처럼 보이는 이 파일의 일종이 될 것. 423 00:22:25,300 --> 00:22:26,260 우리 모두는 동의? 424 00:22:26,260 --> 00:22:29,110 425 00:22:29,110 --> 00:22:31,570 그래서 지금,하고있는 루프는 무엇인가? 426 00:22:31,570 --> 00:22:32,570 그것은 무엇을 통해 일이야? 427 00:22:32,570 --> 00:22:35,000 428 00:22:35,000 --> 00:22:36,449 >> 청중 : 모든 파일. 429 00:22:36,449 --> 00:22:37,240 스피커 1 : 맞아요. 430 00:22:37,240 --> 00:22:39,650 그것은을 통해거야 모든 우리가 거​​기에 입력을했습니다 파일. 431 00:22:39,650 --> 00:22:40,720 432 00:22:40,720 --> 00:22:46,040 그래서 각 파일에 대해, 이건 몇 가지 문자열을 열어. 433 00:22:46,040 --> 00:22:47,560 그것은 그 파일을 여는. 434 00:22:47,560 --> 00:22:48,060 오른쪽? 435 00:22:48,060 --> 00:22:49,140 436 00:22:49,140 --> 00:22:52,380 그리고 읽으입니다. 437 00:22:52,380 --> 00:22:53,420 438 00:22:53,420 --> 00:22:55,540 null가 있다면 물론, 검사합니다. 439 00:22:55,540 --> 00:22:57,220 그리고 그것은 인쇄입니다. 440 00:22:57,220 --> 00:23:01,460 이 널 (null)의 경우, 그것은 단지 우리를 말하고 것을 그 존재하는 파일은 아니다. 441 00:23:01,460 --> 00:23:04,290 와, 기억 때문에 우리의 파일이 존재합니다 읽어 보시기 바랍니다. 442 00:23:04,290 --> 00:23:04,810 오른쪽? 443 00:23:04,810 --> 00:23:06,870 쓰기 및 APPEND와, 당신은 멀리 얻을 수 있습니다. 444 00:23:06,870 --> 00:23:08,970 그러나 읽기에, 우리의 파일이 존재합니다. 445 00:23:08,970 --> 00:23:10,430 446 00:23:10,430 --> 00:23:13,330 >> 그리고, 파일이 존재하는 경우, 우리는 여기서 뭐하는거야? 447 00:23:13,330 --> 00:23:14,810 448 00:23:14,810 --> 00:23:15,780 그냥 여기에서 시작하자. 449 00:23:15,780 --> 00:23:18,815 이것이 것은이 첫 번째 문자를 싫어합니다. 450 00:23:18,815 --> 00:23:20,960 451 00:23:20,960 --> 00:23:21,790 그것은 무엇을합니까? 452 00:23:21,790 --> 00:23:24,100 그는 바로, 하나의 문자를 가져옵니다? 453 00:23:24,100 --> 00:23:25,400 그래서이는거야? 454 00:23:25,400 --> 00:23:26,775 그것은 첫 번째 문자를 점점. 455 00:23:26,775 --> 00:23:28,860 456 00:23:28,860 --> 00:23:30,200 사람은 EOF를 알아? 457 00:23:30,200 --> 00:23:31,170 >> 청중 : 파일의 끝? 458 00:23:31,170 --> 00:23:32,680 >> 스피커 1 : 정확하게 file--의 끝. 459 00:23:32,680 --> 00:23:35,310 그래서 통해 갈 것 전체 파일, 맞죠? 460 00:23:35,310 --> 00:23:36,710 461 00:23:36,710 --> 00:23:40,780 그리고, 그것은으로 업데이트 할거야 이후의 모든 문자를 받고. 462 00:23:40,780 --> 00:23:41,565 오른쪽? 463 00:23:41,565 --> 00:23:43,636 그리고 그것은 뭐하는거야? 464 00:23:43,636 --> 00:23:44,760 청중 : 그 퍼팅은 말야 ... 465 00:23:44,760 --> 00:23:46,741 466 00:23:46,741 --> 00:23:49,170 >> 스피커 1 : Putchar 인쇄 화면 보호기에. 467 00:23:49,170 --> 00:23:50,867 468 00:23:50,867 --> 00:23:51,950 [들림] 문자. 469 00:23:51,950 --> 00:23:54,300 그리고 때 [들림] 이 파일을 닫습니다. 470 00:23:54,300 --> 00:23:57,370 >> 청중 : 당신이하지 [가 필요합니까? 다른? ?] 471 00:23:57,370 --> 00:23:59,005 >> 스피커 1 : 꼭 그렇지는 않습니다. 472 00:23:59,005 --> 00:24:01,480 나는이 종류의이 암시있어, 의미한다. 473 00:24:01,480 --> 00:24:06,780 이 긴으로하지만, 반환하기 때문에 문제는이를 잡으려고하지 않는 한, 당신은 괜찮아요. 474 00:24:06,780 --> 00:24:07,940 475 00:24:07,940 --> 00:24:10,250 나는 그것이 아마 좋은 뜻 다른 작업을 수행 연습. 476 00:24:10,250 --> 00:24:15,755 그러나 다른 사람은 항상하지 않습니다 필요한 특히 477 00:24:15,755 --> 00:24:17,610 당신이 뭔가가있는 경우 반품 좋아하는 어떤 478 00:24:17,610 --> 00:24:20,640 이 경우에는이 잡으면 것을 의미한다 그것은, 프로그램이 끝날 것 479 00:24:20,640 --> 00:24:21,850 그리고이 도착하지 못할거야. 480 00:24:21,850 --> 00:24:23,030 481 00:24:23,030 --> 00:24:29,190 그것은 당신이하고있는 경우에 더 많은 것은 인 반드시 뭔가를 반환하지 않습니다. 482 00:24:29,190 --> 00:24:31,370 이 아니었다면 때문에 아무것도 반환 483 00:24:31,370 --> 00:24:34,430 그것은,이 사실이라면 것을 의미한다 이 나머지는 여전히 실행할 것이다. 484 00:24:34,430 --> 00:24:36,138 그리고이 경우, 거짓을 할 것입니다. 485 00:24:36,138 --> 00:24:38,240 이 반환 있다면, 그리고 프로그램의 종료, 486 00:24:38,240 --> 00:24:41,960 다른 모든 필요가 없습니다 시간, 상황에 따라. 487 00:24:41,960 --> 00:24:43,084 488 00:24:43,084 --> 00:24:44,375 야곱, 당신은 질문이나요? 489 00:24:44,375 --> 00:24:46,100 청중 : 네. 490 00:24:46,100 --> 00:24:49,300 그래서 다음 문자를 얻을 수는 fgetc합니까? 491 00:24:49,300 --> 00:24:50,734 문자는 어떻게 증가 하는가? 492 00:24:50,734 --> 00:24:51,400 스피커 1 : 그래. 493 00:24:51,400 --> 00:24:52,774 그래서는 fgetc는 다음 문자를 가져옵니다. 494 00:24:52,774 --> 00:24:54,140 495 00:24:54,140 --> 00:24:56,866 당신은 어떤 의미에서 C ++처럼 생각할 수 있습니다. 496 00:24:56,866 --> 00:24:58,350 >> 청중 : EOF 무엇 그래서인가? 497 00:24:58,350 --> 00:25:00,877 >> 스피커 1 : EOF는 파일의 끝입니다. 498 00:25:00,877 --> 00:25:03,960 그냥 알 수 있습니다 마커의 당신은 당신의 파일의 마지막에 걸. 499 00:25:03,960 --> 00:25:06,742 그래서이 인쇄 할 것입니다 당신의 표준 출력에. 500 00:25:06,742 --> 00:25:08,950 그리고 다음 닫습니다 것 당신이 일을 끝낼 파일. 501 00:25:08,950 --> 00:25:10,700 그리고 이제 가자 다음 파일을 마우스 오른쪽? 502 00:25:10,700 --> 00:25:12,660 그래서 전반적으로,이 프로그램은 무엇입니까? 503 00:25:12,660 --> 00:25:15,402 504 00:25:15,402 --> 00:25:16,090 >> [들림] 505 00:25:16,090 --> 00:25:16,900 >> 스피커 1 : 그래. 506 00:25:16,900 --> 00:25:18,770 그냥 거기에 모든 것을 출력합니다. 507 00:25:18,770 --> 00:25:23,270 너희들이 이제까지 사용한 경우 CAT 그래서 일부 file--의 다음 이름 508 00:25:23,270 --> 00:25:26,240 당신의 어떤이있는 경우 나도 몰라 지금까지 터미널에 그 일을. 509 00:25:26,240 --> 00:25:29,630 그러나 당신이 이제까지을 사용하는 경우 명령 CAT-- C-A-T-- 510 00:25:29,630 --> 00:25:31,880 다음 어떤 파일 당신은 그것을 저기있다 511 00:25:31,880 --> 00:25:37,260 터미널에 그것을 밖으로 인쇄합니다 몇 가지 슈퍼 편리 할 수​​ 있습니다. 512 00:25:37,260 --> 00:25:38,746 나는 그것을 많이 사용합니다. 513 00:25:38,746 --> 00:25:40,120 즉 모든 사람에게 의미가 있습니까? 514 00:25:40,120 --> 00:25:41,480 515 00:25:41,480 --> 00:25:42,100 쿨? 516 00:25:42,100 --> 00:25:46,530 >> OK 그래서 당신의 작업에 의해 하나 지금은 - 자신이나 당신 ... 주위 사람들과 517 00:25:46,530 --> 00:25:54,930 그냥 간단한 프로그램을 작성하는 것입니다 그건 그냥 "Hello, world!"를 작성합니다 518 00:25:54,930 --> 00:25:56,255 파일에 연결할 수 있습니다. 519 00:25:56,255 --> 00:26:00,215 >> [들림] 520 00:26:00,215 --> 00:26:56,210 521 00:26:56,210 --> 00:26:57,040 >> [들림] 522 00:26:57,040 --> 00:26:59,248 >> 스피커 1 :처럼 나는이었다 나는 심하게 지난주합니까? 523 00:26:59,248 --> 00:27:00,201 524 00:27:00,201 --> 00:27:01,492 나는 그것이 그렇게 나쁜 생각하지 않았다. 525 00:27:01,492 --> 00:27:02,479 526 00:27:02,479 --> 00:27:03,520 난 당신이 모두 여기에있어 기쁘다. 527 00:27:03,520 --> 00:27:04,655 정말 나를 행복하게. 528 00:27:04,655 --> 00:27:07,565 529 00:27:07,565 --> 00:27:10,160 나는 단순한 즐거움의 여자예요. 530 00:27:10,160 --> 00:27:11,688 내 섹션이 참석 때 그냥 좋아. 531 00:27:11,688 --> 00:27:13,830 532 00:27:13,830 --> 00:27:18,270 그래서 난 그냥이 시작하기를 해요 너희들은 우리가 함께 코딩 할 수 있도록. 533 00:27:18,270 --> 00:27:22,290 나는에 사람을 넣어 싫어 그 자리는 당신이되고 싶어하지 않는 한. 534 00:27:22,290 --> 00:27:26,486 535 00:27:26,486 --> 00:27:30,086 >> 청중 : 퀴즈, 할 우리는 프로그램을 작성해야? 536 00:27:30,086 --> 00:27:33,260 >> 스피커 1 : 당신이해야 할 수도 있습니다 손으로 간단한 프로그램을 작성. 537 00:27:33,260 --> 00:27:35,940 538 00:27:35,940 --> 00:27:36,590 아, 그래. 539 00:27:36,590 --> 00:27:38,510 >> 청중 : 퀴즈, 바로 다음 주입니까? 540 00:27:38,510 --> 00:27:40,108 >> 스피커 1 : 퀴즈가 다음 주 수요일입니다. 541 00:27:40,108 --> 00:27:40,855 542 00:27:40,855 --> 00:27:43,730 즉 사랑스러운 [있다는 뜻인가? CSE?] 나중에, 파티 등급하는 543 00:27:43,730 --> 00:27:50,390 당신은 당신의 점수를 얻을 것이다 의미 다시 무엇을 한 번에 걸어 보면 그? 544 00:27:50,390 --> 00:27:50,890 누가 알 겠어요? 545 00:27:50,890 --> 00:27:51,973 그러나 그 밤이 될 것입니다. 546 00:27:51,973 --> 00:28:02,020 547 00:28:02,020 --> 00:28:02,855 >> 좋아. 548 00:28:02,855 --> 00:28:04,250 우리는 어떻게이 시작 하시겠습니까? 549 00:28:04,250 --> 00:28:07,964 550 00:28:07,964 --> 00:28:09,630 당신이 가진 hint-- 시작을 줄 것이다. 551 00:28:09,630 --> 00:28:11,455 >> 청중 : 당신이 파일을 열 수 있습니다. 552 00:28:11,455 --> 00:28:12,250 >> 스피커 1 : 그래. 553 00:28:12,250 --> 00:28:14,060 그래서 당신이 전화하고 싶어? 554 00:28:14,060 --> 00:28:16,150 당신은 "파일"을 호출 하시겠습니까? 555 00:28:16,150 --> 00:28:17,480 의는 쉽게 만들어 보자. 556 00:28:17,480 --> 00:28:26,752 그래서 무엇 fopen-- 우리 될 것 출력 테스트? 557 00:28:26,752 --> 00:28:36,130 "안녕하세요."라고 전화 558 00:28:36,130 --> 00:28:37,810 그리고 우리의 모드는 무엇인가? 559 00:28:37,810 --> 00:28:39,764 560 00:28:39,764 --> 00:28:41,055 우리는이 파일에 뭐하는거야? 561 00:28:41,055 --> 00:28:42,676 562 00:28:42,676 --> 00:28:43,500 >> 청중 : 읽기. 563 00:28:43,500 --> 00:28:44,401 564 00:28:44,401 --> 00:28:44,900 쓰기. 565 00:28:44,900 --> 00:28:46,191 스피커 1 : 우리는 그것을 쓰고있어. 566 00:28:46,191 --> 00:28:47,360 567 00:28:47,360 --> 00:28:47,860 사랑스러운. 568 00:28:47,860 --> 00:28:50,330 569 00:28:50,330 --> 00:28:52,860 OK, 그래서 우리는 지금이 파일이 있습니다. 570 00:28:52,860 --> 00:28:54,920 571 00:28:54,920 --> 00:28:56,212 우리는 무엇을해야합니까? 572 00:28:56,212 --> 00:28:57,420 청중 :이 널 (null)인지 확인합니다. 573 00:28:57,420 --> 00:28:59,820 스피커 1 : 정확히 null--인지 확인합니다. 574 00:28:59,820 --> 00:29:01,980 즉, 내가 듣고 싶은거야. 575 00:29:01,980 --> 00:29:05,930 즉 특히, 자동으로해야한다 이 시점에서 꽤 많이. 576 00:29:05,930 --> 00:29:07,530 577 00:29:07,530 --> 00:29:10,950 당신은 segfaulting을, 당신 아마 시작하는 경우 어딘가에 널 (null)을 확인하지 않았다. 578 00:29:10,950 --> 00:29:12,480 10 명 중 아홉, 그건 당신의 오류가 될 것이다. 579 00:29:12,480 --> 00:29:15,400 당신이 얻을 수 있다면 그래서 이 널 (null)의 경우 습관, 항상 확인 580 00:29:15,400 --> 00:29:18,150 당신의 인생이 될 것 좋은 easy-- 또는 쉽게. 581 00:29:18,150 --> 00:29:19,480 >> 그래서 널 (null)인지 확인합니다. 582 00:29:19,480 --> 00:29:21,200 583 00:29:21,200 --> 00:29:24,820 이 널 (null)이 아니라면, 어느 그래서 강타는 동일 무엇인가 584 00:29:24,820 --> 00:29:26,784 의미 하든지 ..이 유효의 null-- 없습니다. 585 00:29:26,784 --> 00:29:27,700 우리는 무엇을 하시겠습니까? 586 00:29:27,700 --> 00:29:29,750 587 00:29:29,750 --> 00:29:31,570 우리는 인쇄 할 해당 파일을 마우스 오른쪽? 588 00:29:31,570 --> 00:29:32,923 그래서 우리가 사용하는 건가요? 589 00:29:32,923 --> 00:29:34,092 >> 청중 : fprintf와 590 00:29:34,092 --> 00:29:36,800 >> 스피커 1 : Fprintf-- 사랑. 591 00:29:36,800 --> 00:29:38,150 592 00:29:38,150 --> 00:29:44,000 그리고 fprintf와 두 arguments-- 곳 소요 그것은 가서 우리가 인쇄 할 것. 593 00:29:44,000 --> 00:29:45,820 그래서 첫 번째는 무엇인가? 594 00:29:45,820 --> 00:29:46,570 어디거야? 595 00:29:46,570 --> 00:29:47,490 >> 청중 : 파일. 596 00:29:47,490 --> 00:29:48,785 >> 스피커 1 : 그것은 파일거야. 597 00:29:48,785 --> 00:29:49,784 598 00:29:49,784 --> 00:29:50,950 그리고 우리는 인쇄 무엇을 원하는가? 599 00:29:50,950 --> 00:29:52,900 600 00:29:52,900 --> 00:29:58,065 "안녕하세요, 세계!" 601 00:29:58,065 --> 00:29:58,565 좋아. 602 00:29:58,565 --> 00:30:03,670 우리는 마지막으로 건 말인데 ...이 여기에 또 다른 큰 패러다임. 603 00:30:03,670 --> 00:30:04,479 604 00:30:04,479 --> 00:30:05,145 청중 : 닫기. 605 00:30:05,145 --> 00:30:05,853 스피커 1 : 닫기. 606 00:30:05,853 --> 00:30:09,990 607 00:30:09,990 --> 00:30:10,540 거기 당신은 간다. 608 00:30:10,540 --> 00:30:13,384 >> 청중 :이 일어나고있다 파일이 null의 경우는? 609 00:30:13,384 --> 00:30:15,050 스피커 1 : null가 아니라면 아니,이입니다. 610 00:30:15,050 --> 00:30:16,881 청중 : 아, 경우는 아직 ... 괜찮아요. 611 00:30:16,881 --> 00:30:21,728 612 00:30:21,728 --> 00:30:25,410 다음 FOPEN 및 들어 안으로 들어가 두 개의 인수, 613 00:30:25,410 --> 00:30:27,655 첫 번째 인수는 다시 무엇을 의미 하는가? 614 00:30:27,655 --> 00:30:30,392 >> 스피커 1 : 인수가 단지 파일 이름 등 615 00:30:30,392 --> 00:30:31,350 당신이 가고 싶은 것을. 616 00:30:31,350 --> 00:30:36,020 이 실행 된 후 그래서, 당신은 것 "안녕하세요"라는 일부 파일이 617 00:30:36,020 --> 00:30:38,320 그게 내에서 "안녕하세요, 세계를"했다. 618 00:30:38,320 --> 00:30:38,820 그게 다야. 619 00:30:38,820 --> 00:30:39,500 그냥 이름입니다. 620 00:30:39,500 --> 00:30:42,685 621 00:30:42,685 --> 00:30:48,650 >> 청중 : 그리고 그것은 이후 쓰고, 파일이 이미 존재하지 않습니다. 622 00:30:48,650 --> 00:30:49,675 당신이 말한거야? 623 00:30:49,675 --> 00:30:50,410 >> 스피커 1 : 맞아요. 624 00:30:50,410 --> 00:30:50,910 정확히. 625 00:30:50,910 --> 00:30:53,110 626 00:30:53,110 --> 00:30:55,839 "안녕하세요"파일로하는 경우 아직 존재하지 않는, 그건 627 00:30:55,839 --> 00:30:58,380 라는 파일을 작성하려고 안녕하세요 "하고 당신을 위해 쓸. 628 00:30:58,380 --> 00:30:59,631 629 00:30:59,631 --> 00:31:03,610 >> 청중 : 당신이 말하는 것 이 프로그램은 파일을 작성합니다 630 00:31:03,610 --> 00:31:08,075 왜 쓰기 "파일"대신 않는다 파일 및 fprintf--의 이름 631 00:31:08,075 --> 00:31:13,600 >> SPEAKER 1 :이 경우에, 우리가 있기 때문에 모든 caps-- 스타 그 큰 FILE--, 632 00:31:13,600 --> 00:31:14,260 파일. 633 00:31:14,260 --> 00:31:17,370 그래서 파일에 대한 포인터이다 것을 얘기하고 있습니다. 634 00:31:17,370 --> 00:31:19,930 이 방법입니다 우리는 단지 그것을 참조하십시오. 635 00:31:19,930 --> 00:31:24,850 이 경우 그래서, file-- 아하 생각할 수 있습니다, 636 00:31:24,850 --> 00:31:31,271 우리는 여기에 이​​런것 파일을 사용할 수 있습니다 "안녕하세요"의 개방을 의미 637 00:31:31,271 --> 00:31:32,145 그것은 쓰기시키는. 638 00:31:32,145 --> 00:31:34,728 >> 청중 : 우리는 "안녕하세요"넣을 수 대신 [? 단지?] F 파일? 639 00:31:34,728 --> 00:31:40,160 스피커 1 : 아니, 때문에 "안녕하세요" 개방 및 쓰기 가능합니다. 640 00:31:40,160 --> 00:31:41,820 641 00:31:41,820 --> 00:31:45,980 여기에 파일은 같다 OK 말한다 지정자, 우리 642 00:31:45,980 --> 00:31:49,190 이 file-- hello--이 우리가보고있는 그. 643 00:31:49,190 --> 00:31:50,680 이 개설되었습니다. 644 00:31:50,680 --> 00:31:52,140 그리고 우리는 쓸 것입니다. 645 00:31:52,140 --> 00:31:55,130 당신은 그냥 "안녕하세요"를 사용하는 경우, 즉, 캡슐화된다. 646 00:31:55,130 --> 00:31:56,846 그래서 흥분하는 것입니다. 647 00:31:56,846 --> 00:31:58,590 648 00:31:58,590 --> 00:32:00,300 나는 당신이 그것을 이름 수도, 의미한다. 649 00:32:00,300 --> 00:32:03,960 당신은 파일을 할 수 있었다 별은, "안녕하세요", 그와 같습니다. 650 00:32:03,960 --> 00:32:07,840 그러나 요점은 당신 것입니다 위해 파일 스타 포인터를 필요 651 00:32:07,840 --> 00:32:09,281 이러한 기능을 사용할 수 있습니다. 652 00:32:09,281 --> 00:32:11,280 청중 : 당신은 할 수 있나요 파일, 스타, 파일, "안녕하세요" 653 00:32:11,280 --> 00:32:13,113 또는 당신은 넣어해야합니까 그것에 의해, 파일을 스타 파일? 654 00:32:13,113 --> 00:32:16,330 스피커 1 : 수 "안녕하세요.", 파일, 별을 655 00:32:16,330 --> 00:32:19,790 당신은이를 변경할 수 있습니다 어떤 이름을 당신이 원하는. 656 00:32:19,790 --> 00:32:22,114 그것은 완전히 임의의 그 이름은 무엇인지. 657 00:32:22,114 --> 00:32:23,179 658 00:32:23,179 --> 00:32:24,220 당신은 아무것도 이름을 지정할 수 있습니다. 659 00:32:24,220 --> 00:32:25,501 660 00:32:25,501 --> 00:32:28,020 당신이 원하는 경우, 스파게티 비행 이름을 지정합니다. 661 00:32:28,020 --> 00:32:29,690 >> 청중 : 시세에서 "W"무엇​​입니까? 662 00:32:29,690 --> 00:32:31,540 >> 스피커 1 : "W"는 단지 모드입니다. 663 00:32:31,540 --> 00:32:33,170 그래서 우리는이 파일에 기록하고 있습니다. 664 00:32:33,170 --> 00:32:34,410 665 00:32:34,410 --> 00:32:35,320 모두 좋은? 666 00:32:35,320 --> 00:32:36,227 지우기? 667 00:32:36,227 --> 00:32:36,981 예. 668 00:32:36,981 --> 00:32:40,365 >> 청중 :이 씁니다 그래서 여기서 우리는 다음 해당 파일을 찾을 수 있습니까, 파일? 669 00:32:40,365 --> 00:32:43,820 >> 스피커 1 : 그것은 동일한에있을거야 현재에있어 디렉토리. 670 00:32:43,820 --> 00:32:45,650 671 00:32:45,650 --> 00:32:48,880 당신이 PSET 세에 있다면 및 당신은 당신의 pset 내에서이 작업을 실행 672 00:32:48,880 --> 00:32:52,600 세 개의 폴더가 될 것입니다 라는이 파일에 "Hello." 673 00:32:52,600 --> 00:32:53,160 쿨? 674 00:32:53,160 --> 00:32:53,757 모두 좋은? 675 00:32:53,757 --> 00:32:55,840 모든 것 같은 느낌 좋은 인을 받고. 676 00:32:55,840 --> 00:32:57,290 677 00:32:57,290 --> 00:32:57,790 확인을 클릭합니다. 678 00:32:57,790 --> 00:33:05,960 그래서 다시 내 슬라이드 방송 ...에 사물이 작동 할 때 나는 사랑한다. 679 00:33:05,960 --> 00:33:08,674 OK, 너희들은 흥분 pointers-- 있습니까? 680 00:33:08,674 --> 00:33:09,465 포인터는 중대하다. 681 00:33:09,465 --> 00:33:11,581 682 00:33:11,581 --> 00:33:13,580 그들은 조금을 당신의 머리를 줄 바꿈합니다. 683 00:33:13,580 --> 00:33:15,288 이것은 2 학년입니다 교육 포인터. 684 00:33:15,288 --> 00:33:16,850 그리고 나는 마침내 그것을 거 같아요. 685 00:33:16,850 --> 00:33:18,650 당신이 투쟁한다면, 그것은 괜찮습니다. 686 00:33:18,650 --> 00:33:19,940 687 00:33:19,940 --> 00:33:24,070 내가 전에 말했듯이, 그림 그리기 , CS에있는 것들로 많은 도움이 688 00:33:24,070 --> 00:33:27,400 많이 나는 사람들이 생각하는 경향이있다 오, 우리가 컴퓨터라고 생각합니다. 689 00:33:27,400 --> 00:33:28,399 우리는 코드를해야합니다. 690 00:33:28,399 --> 00:33:30,190 없어, 도면 사진 정말 도움이 될 것입니다. 691 00:33:30,190 --> 00:33:32,773 그리고 정말하는 것이 좋습니다 당신의 유치원생 측면을 활용 692 00:33:32,773 --> 00:33:35,010 크레용을 가지고 또는 마커와 무승부. 693 00:33:35,010 --> 00:33:36,110 그것은 당신을 도울 것입니다 때문에. 694 00:33:36,110 --> 00:33:39,380 그리고 당신은 근무 시간에 나를 보면, I 종이의 스택 주위에 실시됩니다 695 00:33:39,380 --> 00:33:41,580 펜 물건을 그리기. 696 00:33:41,580 --> 00:33:44,370 >> 그래서 특히와 그림을 그릴 pointers--. 697 00:33:44,370 --> 00:33:47,970 그리고 나는 우리가 실제로 할꺼 너무 여기에 몇 가지 그림을 그리기합니다. 698 00:33:47,970 --> 00:33:51,270 >> 그래서 너희들은 모두 빙키를 볼 수있어 이 멋진 클레이 메이션 것. 699 00:33:51,270 --> 00:33:54,720 그리고 우리는 그 때 정말 재미 있다고 생각 그는 조각의 무리에 폭발. 700 00:33:54,720 --> 00:33:56,280 701 00:33:56,280 --> 00:33:57,755 이 클래스의 일부 희극이다. 702 00:33:57,755 --> 00:34:02,140 703 00:34:02,140 --> 00:34:05,900 C [들림]이 위대한 능력 메모리를 제어 할 수 있어야한다. 704 00:34:05,900 --> 00:34:10,090 그리고는 정말 것들 중 하나입니다 그것과 같은 강력한 언어를합니다. 705 00:34:10,090 --> 00:34:13,469 그러나 큰 힘이 온다 큰 책임. 706 00:34:13,469 --> 00:34:16,230 그리고 미친 일들이 일어날 수있다 당신이 조심하지 않으면. 707 00:34:16,230 --> 00:34:18,560 그래서 만약 당신이 사용하는 경우 포인터, 당신은 만들고 싶어 708 00:34:18,560 --> 00:34:21,440 확실히 당신은 정말 이해 정확히 무슨 일을하는지. 709 00:34:21,440 --> 00:34:25,530 잘하면 다음 조금 시간은 당신이 정말로 이해하는 데 도움이됩니다 710 00:34:25,530 --> 00:34:27,850 포인터는, 사용 방법, 그들을 조작하는 방법. 711 00:34:27,850 --> 00:34:29,170 712 00:34:29,170 --> 00:34:33,460 >> 그래서 우리가했습니다 확신 memory-- 전이 그림을 본. 713 00:34:33,460 --> 00:34:38,540 그래서이의 단순한이다 어떻게 일이 메모리에 저장 될 수 있습니다. 714 00:34:38,540 --> 00:34:43,145 그래서 당신은 기본적으로 이러한이 하나의 바이트 블록 거대한 배열 715 00:34:43,145 --> 00:34:46,000 우리가 이곳에 약간의가 무엇인가 한마다 씩 증가. 716 00:34:46,000 --> 00:34:51,810 이 16 진수에 [들림] 그래서 8 비트 블록. 717 00:34:51,810 --> 00:34:55,510 모든 블록이 연결되어 있습니다 일부 진수 주소. 718 00:34:55,510 --> 00:34:58,750 당신이 이제까지 볼 경우에 따라서 0x로, 그것은 단지 기호 인 것 719 00:34:58,750 --> 00:35:00,670 그것은 16 진수 주소 있다는. 720 00:35:00,670 --> 00:35:03,970 이 의미 가정 할 수 있습니다 메모리의 어떤 주소. 721 00:35:03,970 --> 00:35:06,935 우리는 메모리 주소에 대해 얘기하고 때마다 16 진수를 참조하십시오. 722 00:35:06,935 --> 00:35:10,420 723 00:35:10,420 --> 00:35:14,630 >> 우리는 정수가 변수가, 수레를 저장하는 변수입니다. 724 00:35:14,630 --> 00:35:16,260 정수 저장 정수 그래서. 725 00:35:16,260 --> 00:35:17,430 수레 저장소 수레. 726 00:35:17,430 --> 00:35:20,260 그래서 우리는 또한 포인터가 를 저장하는 메모리 주소. 727 00:35:20,260 --> 00:35:21,660 즉 매핑의 일종. 728 00:35:21,660 --> 00:35:24,240 포인터는 독점적 있습니다 메모리 주소. 729 00:35:24,240 --> 00:35:25,780 730 00:35:25,780 --> 00:35:27,292 그래서이 유형에 같아요. 731 00:35:27,292 --> 00:35:29,550 732 00:35:29,550 --> 00:35:34,470 어플라이언스는 32 비트, 어떤 의미입니다 메모리 주소는 4 바이트임을. 733 00:35:34,470 --> 00:35:37,830 그래서 당신이 어떤 포인터 또한 4 바이트가 될 것입니다. 734 00:35:37,830 --> 00:35:43,200 아니면이 4 바이트의 다른 경우, 메모리는 4 바이트입니다. 735 00:35:43,200 --> 00:35:44,790 포인터의 메모리 저장. 736 00:35:44,790 --> 00:35:46,430 따라서, 그들은 4 바이트를하고 있습니다. 737 00:35:46,430 --> 00:35:48,460 Cool-- 그냥를 강화하려고합니다. 738 00:35:48,460 --> 00:35:50,120 739 00:35:50,120 --> 00:35:52,220 >> 이제이 만화를 얻어야한다. 740 00:35:52,220 --> 00:35:55,040 당신의 얼마나 많은 몰라 XKCD 팬,하지만 난 XKCD을 사랑 해요. 741 00:35:55,040 --> 00:35:55,780 그것은 좋아요. 742 00:35:55,780 --> 00:35:57,290 743 00:35:57,290 --> 00:35:57,790 >> 좋아. 744 00:35:57,790 --> 00:36:01,640 내가 말했듯이 그래서 그것의, pointers-- 만들기 꽤 많은 단지 다른 것을 좋아한다. 745 00:36:01,640 --> 00:36:02,930 당신은 유형을했습니다. 746 00:36:02,930 --> 00:36:04,050 당신은 이름을 가지고있다. 747 00:36:04,050 --> 00:36:04,810 오른쪽? 748 00:36:04,810 --> 00:36:10,410 그것은 우리가 무엇을합니다. [? 진수는?] 별은,이 포인터의 의미 749 00:36:10,410 --> 00:36:12,250 다음은 전화를 원하는대로. 750 00:36:12,250 --> 00:36:15,770 그래서 타입 나타내고 당신은 무엇을 저장할 수있는 것. 751 00:36:15,770 --> 00:36:16,850 752 00:36:16,850 --> 00:36:17,990 좋아? 753 00:36:17,990 --> 00:36:24,350 같은 방식으로 우리가 INT를 할 경우, 우리는 우리가 int를 저장하는 거 알아. 754 00:36:24,350 --> 00:36:25,990 755 00:36:25,990 --> 00:36:30,280 포인터, 그것을 메모리 주소를 가지고있다. 756 00:36:30,280 --> 00:36:34,240 그러나 무엇을 의미하는 것은 여기 어디 거저입니다 도면은 편리 할 것입니다. 757 00:36:34,240 --> 00:36:36,170 758 00:36:36,170 --> 00:36:45,980 따라서이 경우에, 우리가 일부의 네 말을하자 value--. 759 00:36:45,980 --> 00:36:49,306 네 개의 주소 중 하나에 있습니다. 760 00:36:49,306 --> 00:36:49,805 OK? 761 00:36:49,805 --> 00:36:51,550 762 00:36:51,550 --> 00:36:56,170 >> 이 첫 번째는 여기에 의미 그것은 포인터 배 있다고. 763 00:36:56,170 --> 00:36:56,740 오른쪽? 764 00:36:56,740 --> 00:36:57,628 그것은 몇 가지 포인터 X입니다. 765 00:36:57,628 --> 00:36:58,852 766 00:36:58,852 --> 00:37:00,940 X는 무엇을 뭔가 할 수있다. 767 00:37:00,940 --> 00:37:01,960 768 00:37:01,960 --> 00:37:05,130 무엇이든 X X 네라고는 .... 769 00:37:05,130 --> 00:37:07,280 그것은을 저장하는 것 여기에 메모리 주소. 770 00:37:07,280 --> 00:37:12,260 그래서 INT, 스타, x--이입니다 memory--에서 다른 슬롯 771 00:37:12,260 --> 00:37:13,590 사람이 무엇인지 알고있다. 772 00:37:13,590 --> 00:37:15,430 그러나 여기에 주소를 저장하는 것입니다. 773 00:37:15,430 --> 00:37:27,040 그래서 이쪽은 다 맡을 것 이 경우에, 무엇이든간에, 774 00:37:27,040 --> 00:37:32,630 저장되어있는 어떤 0x1--에 저장된다 우리의 포인터가 보유하고있는 주소, 775 00:37:32,630 --> 00:37:35,280 와 일치한다 우리는 지정했습니다. 776 00:37:35,280 --> 00:37:40,330 그래서이 0x1에서,이 경우, 이는 X이다. 777 00:37:40,330 --> 00:37:42,500 778 00:37:42,500 --> 00:37:49,340 이것은 오직이 될 수 있습니다 우리는이를 사용하는 동안 int로. 779 00:37:49,340 --> 00:37:52,950 >> 마찬가지로, 우리가있는 경우 다른 1Y, 어떤 780 00:37:52,950 --> 00:37:59,130 y를 가지고 함께 어드레스가 저장된다 Z와 char-- 같은 일이 될 수 있습니다. 781 00:37:59,130 --> 00:38:05,840 동일한 방식으로, 항상 널 시도하고 INTX 0.4에 해당 할, 782 00:38:05,840 --> 00:38:09,275 그것은 당신을 소리 할 것 아니 같은, 당신은 당신이 INT를 원했다. 783 00:38:09,275 --> 00:38:10,525 이것은 INT 가정된다. 784 00:38:10,525 --> 00:38:11,900 그것은 플로트 만들려고 중지합니다. 785 00:38:11,900 --> 00:38:14,150 >> 그래서 일이 그들이 원하는 것을 할 수 있습니다. 786 00:38:14,150 --> 00:38:15,159 787 00:38:15,159 --> 00:38:16,200 일이 자신을하자. 788 00:38:16,200 --> 00:38:19,380 789 00:38:19,380 --> 00:38:23,450 그래서 큰 것은 그냥 포인터의 유형에 관계없이 790 00:38:23,450 --> 00:38:26,101 그것은 즉, 만이다,입니다 당신이 저장할 수있는 것. 791 00:38:26,101 --> 00:38:26,600 OK? 792 00:38:26,600 --> 00:38:27,910 793 00:38:27,910 --> 00:38:31,160 연습과 마찬가지로 지난 주, 모든 794 00:38:31,160 --> 00:38:32,817 정말 종류의 추상적 인 것 같다. 795 00:38:32,817 --> 00:38:34,150 우리는 연습을 할 것입니다. 796 00:38:34,150 --> 00:38:36,760 그것은 더 이해를해야합니다. 797 00:38:36,760 --> 00:38:44,580 >> 그래서 참조 및 그것의 dereferencing-- 정말 중요한 것은 이러한 직선을 얻을 수 있습니다. 798 00:38:44,580 --> 00:38:46,630 나는 아직도 새로 고쳐야 할 모든 이제 다음. 799 00:38:46,630 --> 00:38:48,450 그리고 나는 내가하는 일을 원하는가, 대기처럼 해요? 800 00:38:48,450 --> 00:38:56,080 그래서 앰퍼샌드 실제로 줄 것이다 당신의 참조 또는 주소. 801 00:38:56,080 --> 00:39:00,100 그래서 주소를 반환 변수의 메모리에 저장됩니다. 802 00:39:00,100 --> 00:39:01,170 803 00:39:01,170 --> 00:39:07,020 그래서 실제로로 돌아 것 16 진수를 역 참조하는 반면 804 00:39:07,020 --> 00:39:10,641 실제로 당신에게 줄 수 있겠나 거기에 저장되어있는 데이터. 805 00:39:10,641 --> 00:39:11,140 OK? 806 00:39:11,140 --> 00:39:12,680 807 00:39:12,680 --> 00:39:16,060 그래서 우리는 예를 살펴거야 정말 빨리, 또는 실제로 위 다음. 808 00:39:16,060 --> 00:39:18,050 809 00:39:18,050 --> 00:39:19,150 >> 확인을 클릭합니다. 810 00:39:19,150 --> 00:39:21,790 그래서 우리가 정말 생각해야 이에 대해 신중하게. 811 00:39:21,790 --> 00:39:23,860 그래서 여기에 우리는 몇 가지 정수 X가 있습니다. 812 00:39:23,860 --> 00:39:26,485 나는 시도하고이를 그릴거야 내 능력의 최선을 밖으로. 813 00:39:26,485 --> 00:39:30,230 814 00:39:30,230 --> 00:39:32,410 그래서 우리는이 슬롯 X가 될 것입니다. 815 00:39:32,410 --> 00:39:35,850 816 00:39:35,850 --> 00:39:37,315 그리고 다섯을 저장합니다. 817 00:39:37,315 --> 00:39:38,640 818 00:39:38,640 --> 00:39:40,090 그 주소는 0x4로입니다. 819 00:39:40,090 --> 00:39:41,920 820 00:39:41,920 --> 00:39:43,160 쿨? 821 00:39:43,160 --> 00:39:44,100 모든 좋은. 822 00:39:44,100 --> 00:39:45,470 >> 그래서 지금 우리는이 포인터를 가지고있다. 823 00:39:45,470 --> 00:39:46,916 824 00:39:46,916 --> 00:39:47,990 그것은 여기에 있었다. 825 00:39:47,990 --> 00:39:52,130 826 00:39:52,130 --> 00:39:57,560 그리고 앰퍼샌드는 우리를 제공합니다 뭔가의 주소. 827 00:39:57,560 --> 00:40:00,780 그래서,이 경우에는, x의 주소이다. 828 00:40:00,780 --> 00:40:01,875 x의 주소는 무엇입니까? 829 00:40:01,875 --> 00:40:05,660 830 00:40:05,660 --> 00:40:12,590 04--이 포인터는 0x08에 있습니다. 831 00:40:12,590 --> 00:40:14,490 832 00:40:14,490 --> 00:40:14,990 쿨? 833 00:40:14,990 --> 00:40:16,570 834 00:40:16,570 --> 00:40:21,570 그래서 당신은 이것에 대해 생각할 수 포인터, 04, 그냥 여기를 가리키는. 835 00:40:21,570 --> 00:40:22,840 836 00:40:22,840 --> 00:40:25,740 그리고 그들은 포인터를 호출하고 우리는이에 더 많은 것을 알고으로 인해, 837 00:40:25,740 --> 00:40:28,450 당신은 사물을 가리키는 보게 될 것입니다. 838 00:40:28,450 --> 00:40:31,470 그리고 하나의 블록은 다른 가리키는 블록은 더 많은 감각을 만들 것입니다. 839 00:40:31,470 --> 00:40:32,760 840 00:40:32,760 --> 00:40:33,890 그래서 여기에 두 가지이다. 841 00:40:33,890 --> 00:40:38,230 그리고 우리는 몇 가지가 뭐 ... 0x0c입니다 복사. 842 00:40:38,230 --> 00:40:41,290 843 00:40:41,290 --> 00:40:43,420 그리고 그것은 갈 것 우리의 포인터 역 참조. 844 00:40:43,420 --> 00:40:46,790 >> 그래서이 말하는 것은입니다 OK, 여기에 우리의 포인터입니다. 845 00:40:46,790 --> 00:40:53,090 이 저장 값은 무엇을하는 0x04이며, 그것은이 주소로 이동 같다고 말하는거야 846 00:40:53,090 --> 00:40:54,300 그 안에 무엇을 말해. 847 00:40:54,300 --> 00:40:55,520 848 00:40:55,520 --> 00:40:57,710 그래서 효율적이다 이 화살표는 무엇을하고있다. 849 00:40:57,710 --> 00:40:58,750 850 00:40:58,750 --> 00:41:01,280 당신은 스타처럼 생각할 수 있습니다. 851 00:41:01,280 --> 00:41:05,410 우리가 별을 수행 할 때 그래서 OK, 그것은 다음을 의미합니다. 852 00:41:05,410 --> 00:41:06,810 이 주소로 이동합니다. 853 00:41:06,810 --> 00:41:11,430 그리고는 기본적으로 다음의 이 메모리 덩어리에이 화살표. 854 00:41:11,430 --> 00:41:15,380 그리고 5 인, 그 안에 무엇이 우리를 제공합니다. 855 00:41:15,380 --> 00:41:18,840 우리의 사본이 5와 동일한 이유입니다. 856 00:41:18,840 --> 00:41:20,120 그 의미가 있습니까? 857 00:41:20,120 --> 00:41:22,769 사람이 통과 할 날 필요로 하는가 그 다시, 또는 더 느리게? 858 00:41:22,769 --> 00:41:24,560 날이 가고 싶은 그것을 한 번 더를 통해? 859 00:41:24,560 --> 00:41:25,060 확인을 클릭합니다. 860 00:41:25,060 --> 00:41:27,549 861 00:41:27,549 --> 00:41:28,840 우리는 다시 다시 그릴 것입니다. 862 00:41:28,840 --> 00:41:31,930 863 00:41:31,930 --> 00:41:37,205 우리가 시작할 때, 우리 모두는 우리가 동의 변수의 메모리의 일부 덩어리 864 00:41:37,205 --> 00:41:40,890 우리는 5와 동일하게 설정 X. 865 00:41:40,890 --> 00:41:42,910 이 메모리의 어디에 우리는 제어하지 않습니다. 866 00:41:42,910 --> 00:41:45,520 그래서이 자리는 그냥 임의로 할당. 867 00:41:45,520 --> 00:41:47,770 868 00:41:47,770 --> 00:41:48,731 이 좋은? 869 00:41:48,731 --> 00:41:49,230 확인을 클릭합니다. 870 00:41:49,230 --> 00:41:50,420 871 00:41:50,420 --> 00:41:53,330 그런 다음 우리는 INT에 대한 포인터를 초기화합니다. 872 00:41:53,330 --> 00:41:56,900 즉,이 가리 키도록 허용 왜이다 X 우리가 여기에 int를 가지고 있기 때문에. 873 00:41:56,900 --> 00:42:00,840 우리는 또 다른 덩어리가 메모리 때문에이 포인터 874 00:42:00,840 --> 00:42:03,485 단지 다른 것을 같은 변수입니다. 875 00:42:03,485 --> 00:42:06,615 그것은 임의로 할당 된 것 메모리의 일부 공간. 876 00:42:06,615 --> 00:42:07,630 877 00:42:07,630 --> 00:42:10,830 그리고 그것이 무엇 저장하는 x의 주소입니다. 878 00:42:10,830 --> 00:42:13,200 앰퍼샌드는 x의 주소를 의미한다. 879 00:42:13,200 --> 00:42:14,575 그래서 x의 주소는 무엇인가? 880 00:42:14,575 --> 00:42:19,179 881 00:42:19,179 --> 00:42:20,614 >> 청중 : 그것은 zero--의 882 00:42:20,614 --> 00:42:21,280 스피커 1 :를 0x04. 883 00:42:21,280 --> 00:42:24,350 884 00:42:24,350 --> 00:42:25,940 그래서에요 다음 마지막. 885 00:42:25,940 --> 00:42:30,650 우리는 다시 몇 가지 copy--이 또 다른 변수입니다. 886 00:42:30,650 --> 00:42:32,520 그럼 어떤 임의의 장소를 지정할 수 있습니다. 887 00:42:32,520 --> 00:42:35,260 888 00:42:35,260 --> 00:42:38,080 우리의 포인터 역 참조 그리고 우리. 889 00:42:38,080 --> 00:42:42,490 스타로 이동을 의미 주소 내 포인터에 저장된다. 890 00:42:42,490 --> 00:42:44,480 거기에 무엇을 말해. 891 00:42:44,480 --> 00:42:47,290 그래서 주소를 저장 우리의 포인터를 0x04입니다. 892 00:42:47,290 --> 00:42:49,070 893 00:42:49,070 --> 00:42:51,310 그래서 우리는 그 주소로 이동합니다. 894 00:42:51,310 --> 00:42:52,402 895 00:42:52,402 --> 00:42:54,590 그것은 그 주소를 가리키는 것. 896 00:42:54,590 --> 00:42:57,481 이 메모리 블록 내부에 무엇입니까? 897 00:42:57,481 --> 00:42:57,980 그것은 다섯입니다. 898 00:42:57,980 --> 00:42:59,210 899 00:42:59,210 --> 00:43:01,650 그래서 우리는 우리의 사본을 할당 할거야. 900 00:43:01,650 --> 00:43:03,430 901 00:43:03,430 --> 00:43:04,860 모두 좋은? 902 00:43:04,860 --> 00:43:05,360 쿨. 903 00:43:05,360 --> 00:43:07,010 904 00:43:07,010 --> 00:43:08,330 Again-- 사진. 905 00:43:08,330 --> 00:43:19,750 906 00:43:19,750 --> 00:43:25,200 >> 그래서 난 이곳에 값을 추적 너희들이 생각 할 것. 907 00:43:25,200 --> 00:43:26,550 908 00:43:26,550 --> 00:43:27,750 우리는 또 다른 그림을 그릴 수 있습니다. 909 00:43:27,750 --> 00:43:31,260 그러나 나는 당신이 시도하고 이유하려면 잠시 자신에이를 통해. 910 00:43:31,260 --> 00:44:01,430 911 00:44:01,430 --> 00:44:04,149 >> 그들은 포기하지 않았기 때문에 우리 예 주소 912 00:44:04,149 --> 00:44:06,940 난 그냥 앰퍼샌드 x--을 할거야 어느 집으로 운전 도움이 될 것입니다. 913 00:44:06,940 --> 00:44:07,950 앰퍼샌드 주소를 의미한다. 914 00:44:07,950 --> 00:44:09,540 915 00:44:09,540 --> 00:44:12,360 >> 첫 번째, 사람에 따라서 첫 번째 줄과 함께 할 것입니다. 916 00:44:12,360 --> 00:44:15,690 일부 X 세트의 five-- 일부 메모리에 임의의 슬롯. 917 00:44:15,690 --> 00:44:17,660 918 00:44:17,660 --> 00:44:23,200 INT 스타 포인터는 동일 x의 주소, 맞죠? 919 00:44:23,200 --> 00:44:28,180 INT 스타 포인터가 생성 이 블록은, 그 포인터 호출 920 00:44:28,180 --> 00:44:30,650 와 x의 주소에 할당합니다. 921 00:44:30,650 --> 00:44:32,750 922 00:44:32,750 --> 00:44:34,230 나는 앰퍼샌드 끔찍 해요. 923 00:44:34,230 --> 00:44:36,460 924 00:44:36,460 --> 00:44:40,550 >> 지금 우리가하고있는 것은 말할 것입니다 OK, 우리의 포인터 역 참조. 925 00:44:40,550 --> 00:44:42,760 그래서 우리는 OK, 우리의 포인터에 무엇을 이동? 926 00:44:42,760 --> 00:44:44,820 그것은 앰퍼샌드 X입니다. 927 00:44:44,820 --> 00:44:49,400 앰퍼샌드 X로 이동하고 재 할당. 928 00:44:49,400 --> 00:44:51,620 929 00:44:51,620 --> 00:44:57,480 >> 그래서 지금, 앰퍼샌드 x는 35가 될 것입니다. 930 00:44:57,480 --> 00:45:01,540 931 00:45:01,540 --> 00:45:05,174 그러니까 기본적으로, 당신은 때이야 역 참조, 확인을 이동합니다. 932 00:45:05,174 --> 00:45:07,090 당신은 그리기 될거야 이 같은 사진. 933 00:45:07,090 --> 00:45:09,423 당신은 그리기 될거야 어디를 통해 화살. 934 00:45:09,423 --> 00:45:16,030 그래서 메모리에이 슬롯으로 이동 중 나에게 그 값을 돌려주고, 또는 변경. 935 00:45:16,030 --> 00:45:21,620 이 경우, 때문에 우리는이에있어 , 우리가 그것을 할당하고 값은 35이어야합니다. 936 00:45:21,620 --> 00:45:24,700 마지막에있는 반면 하나, 당신이 나는 경우, 우리 937 00:45:24,700 --> 00:45:27,680 무엇 할당 된 여기에 다른 뭔가에. 938 00:45:27,680 --> 00:45:30,450 939 00:45:30,450 --> 00:45:32,245 >> 그래서 그들은이 멋진 테이블이 있습니다. 940 00:45:32,245 --> 00:45:35,000 941 00:45:35,000 --> 00:45:36,890 그것은 나쁘지 않다. 942 00:45:36,890 --> 00:45:37,970 너희들은 그것을 작동합니다. 943 00:45:37,970 --> 00:45:39,640 나는 칠판에 끌어거야. 944 00:45:39,640 --> 00:45:41,306 우리는 OK, 그것을 함께 작성하는 건가요? 945 00:45:41,306 --> 00:45:42,290 946 00:45:42,290 --> 00:45:45,530 그래서 일부 종이, 잡아 잡아 파트너는 작업을 시작. 947 00:45:45,530 --> 00:45:53,897 948 00:45:53,897 --> 00:45:55,605 내가 얻을거야 분필의 큰 조각. 949 00:45:55,605 --> 00:45:56,624 950 00:45:56,624 --> 00:45:58,150 이 많이 될 것 때문에. 951 00:45:58,150 --> 00:45:59,410 952 00:45:59,410 --> 00:45:59,910 확인을 클릭합니다. 953 00:45:59,910 --> 00:48:08,567 954 00:48:08,567 --> 00:48:09,150 교수 : OK. 955 00:48:09,150 --> 00:48:11,599 956 00:48:11,599 --> 00:48:12,890 의 첫 번째 행부터 시작하자. 957 00:48:12,890 --> 00:48:14,070 958 00:48:14,070 --> 00:48:16,970 우리는 그 다음이 너희들을 시작합니다 어쩌면 좀 더를 통해 작업 할 수 있습니다. 959 00:48:16,970 --> 00:48:17,870 확인을 클릭합니다. 960 00:48:17,870 --> 00:48:19,810 는 무엇 그래서 B 시간의 C에 해당? 961 00:48:19,810 --> 00:48:21,420 962 00:48:21,420 --> 00:48:23,260 그것은 트릭 질문이 아니다, 약속. 963 00:48:23,260 --> 00:48:24,440 >> 학생 : 4 ~ 5 배. 964 00:48:24,440 --> 00:48:25,420 >> 교수 : 4 ~ 5 배. 965 00:48:25,420 --> 00:48:25,920 20. 966 00:48:25,920 --> 00:48:26,730 그래서 B는 무엇인가? 967 00:48:26,730 --> 00:48:27,921 968 00:48:27,921 --> 00:48:28,420 학생 : 네. 969 00:48:28,420 --> 00:48:30,204 970 00:48:30,204 --> 00:48:31,043 >> 교수 : 그리고 C? 971 00:48:31,043 --> 00:48:31,542 학생 : 5. 972 00:48:31,542 --> 00:48:32,083 교수 : 5. 973 00:48:32,083 --> 00:48:35,960 그리고 이것은 단지 것입니다 , 앰퍼샌드 (B)을 앰퍼샌드 (&) 수, 974 00:48:35,960 --> 00:48:38,575 앰퍼샌드 C, 맞죠? 975 00:48:38,575 --> 00:48:39,728 976 00:48:39,728 --> 00:48:40,596 나쁜. 977 00:48:40,596 --> 00:48:42,081 그것은 충분히 간단합니다. 978 00:48:42,081 --> 00:48:42,580 확인을 클릭합니다. 979 00:48:42,580 --> 00:48:44,300 다음 중 하나 그래서. 980 00:48:44,300 --> 00:48:48,725 이 경우, 배 C와 동일 사람은 익숙했다. 981 00:48:48,725 --> 00:48:49,812 982 00:48:49,812 --> 00:48:53,300 익숙한 사람입니다 시간이 equals와? 983 00:48:53,300 --> 00:49:00,105 OK,이 모든이가 의미 하든지 .. 속기는 배 C와 동일합니다. 984 00:49:00,105 --> 00:49:04,840 또한 사업부와 함께 할 수 있습니다, 뺄셈과 덧셈,와. 985 00:49:04,840 --> 00:49:12,130 당신은 같음을 수행 할 수 있습니다, 또는 플러스는 C와 동일 이 플러스 C, 동일한 마이너스 동일 의미 986 00:49:12,130 --> 00:49:15,190 c를 마이너스 C와 동일하다. 987 00:49:15,190 --> 00:49:16,690 그냥 문법 설탕입니다. 988 00:49:16,690 --> 00:49:19,380 989 00:49:19,380 --> 00:49:24,140 >> 그래서,이 경우는 동일하다 배 C 우리에게 뭐가 있죠? 990 00:49:24,140 --> 00:49:25,910 991 00:49:25,910 --> 00:49:28,186 또 다시, 아니 트릭 질문입니다. 992 00:49:28,186 --> 00:49:28,965 >> 학생 : 100. 993 00:49:28,965 --> 00:49:29,300 >> 교수 : 100. 994 00:49:29,300 --> 00:49:30,383 아무것도 변경합니까? 995 00:49:30,383 --> 00:49:31,790 996 00:49:31,790 --> 00:49:32,290 아니오. 997 00:49:32,290 --> 00:49:37,380 998 00:49:37,380 --> 00:49:39,850 어쩌면 내가 마지막으로 얻을 것이다 내 앰퍼샌드 더 나은. 999 00:49:39,850 --> 00:49:42,047 >> 학생 : 오, 미안, 어떻게 (100)를 얻었 는가? 1000 00:49:42,047 --> 00:49:42,630 교수 : OK. 1001 00:49:42,630 --> 00:49:46,594 그래서이 같은지 배 C, 그렇게 번 C. 1002 00:49:46,594 --> 00:49:48,510 학생 : 오, 당신이 사용하고있는 previous--에 대한 1003 00:49:48,510 --> 00:49:49,135 교수 : 네. 1004 00:49:49,135 --> 00:49:51,450 그래서 이러한 우리의 가장 최근의 값입니다. 1005 00:49:51,450 --> 00:49:53,990 이들은 당신이해야 무엇인가 우리가 아래로 이동 확인, 사용. 1006 00:49:53,990 --> 00:49:57,290 1007 00:49:57,290 --> 00:50:01,520 그래서 B는 유일한 것은 변화, 오른쪽인가? 1008 00:50:01,520 --> 00:50:02,910 그럼 다른 모든 기입 할 수 있습니다. 1009 00:50:02,910 --> 00:50:09,110 1010 00:50:09,110 --> 00:50:11,330 B. 무엇 B가 될 것입니다? 1011 00:50:11,330 --> 00:50:13,020 1012 00:50:13,020 --> 00:50:14,140 수 또는되지 않게합니다. 1013 00:50:14,140 --> 00:50:18,680 1014 00:50:18,680 --> 00:50:20,240 그래서이는거야? 1015 00:50:20,240 --> 00:50:21,605 PA 일 별은 무엇입니까? 1016 00:50:21,605 --> 00:50:23,280 1017 00:50:23,280 --> 00:50:25,350 >> 학생 : PA의 위치에 코드입니다. 1018 00:50:25,350 --> 00:50:26,390 1019 00:50:26,390 --> 00:50:27,480 >> 학생 : 아니, 아주. 1020 00:50:27,480 --> 00:50:29,470 그래서이 D 참조입니다. 1021 00:50:29,470 --> 00:50:31,580 >> 학생 : 그래서 B는 PA의 손으로 값입니다. 1022 00:50:31,580 --> 00:50:37,340 >> 교수 : 그래, 그래서 아빠가 의 주소, 맞죠? 1023 00:50:37,340 --> 00:50:42,430 그래서이 곳으로 이동을 말하는 것 저장하고 그것을 그 값을 제공합니다. 1024 00:50:42,430 --> 00:50:43,884 그래서 B는 무엇인가? 1025 00:50:43,884 --> 00:50:44,425 학생 : 100. 1026 00:50:44,425 --> 00:50:46,534 교수 : 100. 1027 00:50:46,534 --> 00:50:47,450 완벽한. 1028 00:50:47,450 --> 00:50:49,879 좋아, 그럼 PC 란 무엇을 변하고있다. 1029 00:50:49,879 --> 00:50:51,170 나머지는 동일하게 유지. 1030 00:50:51,170 --> 00:50:57,160 1031 00:50:57,160 --> 00:50:58,620 어떤 PC가 될 것입니다? 1032 00:50:58,620 --> 00:51:00,770 1033 00:51:00,770 --> 00:51:01,580 간단한 할당. 1034 00:51:01,580 --> 00:51:03,520 1035 00:51:03,520 --> 00:51:05,990 PC에 PA 같고, PA는 무엇인가? 1036 00:51:05,990 --> 00:51:07,049 >> 학생 :을 앰퍼샌드. 1037 00:51:07,049 --> 00:51:07,840 교수 : 완벽한. 1038 00:51:07,840 --> 00:51:09,490 1039 00:51:09,490 --> 00:51:10,740 이제 우리는 재미 있어요. 1040 00:51:10,740 --> 00:51:12,310 1041 00:51:12,310 --> 00:51:15,230 좋아, 다운이 하나를 중단 할 수 있습니다. 1042 00:51:15,230 --> 00:51:21,110 그 때문에 첫째, 무슨 일이, B 곱하기 C를의 이 하나의 쉬운 부분, 오른쪽? 1043 00:51:21,110 --> 00:51:22,360 B 시간 C는 ... 1044 00:51:22,360 --> 00:51:23,320 >> 학생 : 500. 1045 00:51:23,320 --> 00:51:28,880 >> 교수 : 그래, 그래서 이 사람은 무엇을하고, 1046 00:51:28,880 --> 00:51:33,705 그것의 스타 PB 경우, 무엇을 변경하는거야? 1047 00:51:33,705 --> 00:51:35,320 1048 00:51:35,320 --> 00:51:37,242 >> 학생 : 무슨 엥에서의 1049 00:51:37,242 --> 00:51:38,200 교수 : B의​​ 무엇입니까? 1050 00:51:38,200 --> 00:51:41,340 학생 : 공간의 새로운 기능 그 (PB)은 가리키고 있습니다. 1051 00:51:41,340 --> 00:51:43,406 교수 : 그리고 (PB)은 아 - 가리키는 1052 00:51:43,406 --> 00:51:43,905 학생 : B. 1053 00:51:43,905 --> 00:51:46,740 교수 : B. 따라서 만 일의 변화는 바로 B입니다. 1054 00:51:46,740 --> 00:51:50,800 그래서 B 번 C, 500. 1055 00:51:50,800 --> 00:51:52,367 그래서 지금 어떤 변화입니다. 1056 00:51:52,367 --> 00:51:59,091 1057 00:51:59,091 --> 00:51:59,590 쿨. 1058 00:51:59,590 --> 00:52:00,340 1059 00:52:00,340 --> 00:52:00,840 사랑스러운. 1060 00:52:00,840 --> 00:52:01,905 지금까지 정말 잘하고있다. 1061 00:52:01,905 --> 00:52:03,650 1062 00:52:03,650 --> 00:52:06,740 이 하나 다운을 깨는 좋아. 1063 00:52:06,740 --> 00:52:08,050 1064 00:52:08,050 --> 00:52:09,630 C는 오른쪽 변화? 1065 00:52:09,630 --> 00:52:11,530 그래서 우리는 다른 모든 입력 할 수 있습니다. 1066 00:52:11,530 --> 00:52:12,540 1067 00:52:12,540 --> 00:52:13,205 어디 보자. 1068 00:52:13,205 --> 00:52:19,125 1069 00:52:19,125 --> 00:52:19,625 확인을 클릭합니다. 1070 00:52:19,625 --> 00:52:21,420 1071 00:52:21,420 --> 00:52:24,740 우리는 C가 될 것입니다 알고 두 숫자의 제품,? 1072 00:52:24,740 --> 00:52:26,290 1073 00:52:26,290 --> 00:52:27,980 어떤 두 수,하지만? 1074 00:52:27,980 --> 00:52:28,970 >> 학생 : A와 C? 1075 00:52:28,970 --> 00:52:31,930 >> 교수 : 그래서는 오른쪽 첫 번째합니다. 1076 00:52:31,930 --> 00:52:34,385 그럼 우리의 페이지를 참조 거라고거야? 1077 00:52:34,385 --> 00:52:35,390 1078 00:52:35,390 --> 00:52:42,870 에 대한 점 P, 그래서 우리는 알고 이 100 회 무엇 될 것입니다? 1079 00:52:42,870 --> 00:52:46,232 에 PC 점을 무엇 타임즈? 1080 00:52:46,232 --> 00:52:47,410 1081 00:52:47,410 --> 00:52:48,740 를 가리 킵니다. 1082 00:52:48,740 --> 00:52:55,038 그래서 100 배 (100)은 10,000이다. 1083 00:52:55,038 --> 00:52:56,170 그 의미가 있습니까? 1084 00:52:56,170 --> 00:52:57,640 1085 00:52:57,640 --> 00:52:58,200 쿨. 1086 00:52:58,200 --> 00:53:00,500 홈 스트레치, 사람, 마지막 행. 1087 00:53:00,500 --> 00:53:01,190 확인을 클릭합니다. 1088 00:53:01,190 --> 00:53:02,160 여기에 무엇을 변경하는거야? 1089 00:53:02,160 --> 00:53:05,640 1090 00:53:05,640 --> 00:53:06,935 >> 학생 : A. 1091 00:53:06,935 --> 00:53:09,435 교수 : A. 완벽한, 그래서 나머지는 동일하게 유지 할 수 있습니다. 1092 00:53:09,435 --> 00:53:16,210 1093 00:53:16,210 --> 00:53:16,710 확인을 클릭합니다. 1094 00:53:16,710 --> 00:53:17,970 그리고는 무엇인가? 1095 00:53:17,970 --> 00:53:23,610 1096 00:53:23,610 --> 00:53:26,060 그래서 시간이 무엇입니까? 1097 00:53:26,060 --> 00:53:27,120 이 스타 PB입니다. 1098 00:53:27,120 --> 00:53:29,750 1099 00:53:29,750 --> 00:53:34,490 그래서 스타 PB는 여기에 의미 PB, PB 지점은 B로. 1100 00:53:34,490 --> 00:53:35,370 >> 학생 : 500. 1101 00:53:35,370 --> 00:53:36,230 >> 교수 : 500. 1102 00:53:36,230 --> 00:53:39,236 그래서 우리는 500 배 (100)이있다. 1103 00:53:39,236 --> 00:53:41,758 즉 50,000입니다. 1104 00:53:41,758 --> 00:53:43,216 휴! 1105 00:53:43,216 --> 00:53:45,646 저것 좀 봐. 1106 00:53:45,646 --> 00:53:47,982 >> 학생 : 왜 우리가해야합니까 last--의 & C 1107 00:53:47,982 --> 00:53:48,690 교수 : 죄송합니다. 1108 00:53:48,690 --> 00:53:50,080 학생 : 아, 그렇군요. 1109 00:53:50,080 --> 00:53:51,600 교수 : 내 나쁜. 1110 00:53:51,600 --> 00:53:52,890 쓰기 많아요. 1111 00:53:52,890 --> 00:53:53,917 1112 00:53:53,917 --> 00:53:54,500 모두 좋은? 1113 00:53:54,500 --> 00:53:55,630 1114 00:53:55,630 --> 00:53:56,660 너무 나쁜, 맞죠? 1115 00:53:56,660 --> 00:53:58,490 그냥 약간의 소요 반면 통해 작동합니다. 1116 00:53:58,490 --> 00:54:01,080 당신이 그것을 무너 뜨리는 경우, 무엇 각 부분을 이해 1117 00:54:01,080 --> 00:54:03,197 같은 인명 피해가 없는지 ... 언급하고 그것의 모든과, 1118 00:54:03,197 --> 00:54:05,780 작은으로 분해 그럼요 다음 재결합 문제, 1119 00:54:05,780 --> 00:54:07,345 당신은 굉장한 물건을 할 수 있습니다. 1120 00:54:07,345 --> 00:54:08,970 거기에 대한 답변입니다,하지만 우리는 그것을했다. 1121 00:54:08,970 --> 00:54:10,324 1122 00:54:10,324 --> 00:54:11,115 포인터 연산. 1123 00:54:11,115 --> 00:54:13,961 1124 00:54:13,961 --> 00:54:14,460 아. 1125 00:54:14,460 --> 00:54:15,510 내 손이 모든 백악질 있습니다. 1126 00:54:15,510 --> 00:54:17,970 그래서 추가하거나 빼는 INT 포인터를 조정 1127 00:54:17,970 --> 00:54:21,890 포인터의 종류의 크기에 의하여. 1128 00:54:21,890 --> 00:54:22,940 1129 00:54:22,940 --> 00:54:28,390 어떻게 모든 종류의 기억 다른 크기는? 1130 00:54:28,390 --> 00:54:34,890 이중 또는 긴 긴 같은 여덟 INT는 4입니다하지만 문자는 하나입니다. 1131 00:54:34,890 --> 00:54:38,360 >> 그래서 당신이 원하는 무엇을 한가지 기억해야 할 것은 핵폭탄 낙하 1132 00:54:38,360 --> 00:54:44,080 얼마나 당신을 그렇게 많이 포인터 값은 실제로 변경 1133 00:54:44,080 --> 00:54:46,550 에 따라 달라집니다 포인터 유형은이다. 1134 00:54:46,550 --> 00:54:50,820 1135 00:54:50,820 --> 00:54:51,820 이 좋은 모든 사람? 1136 00:54:51,820 --> 00:54:52,760 나는 그것을 지울 수 있습니까? 1137 00:54:52,760 --> 00:54:53,440 우리는 좋은거야? 1138 00:54:53,440 --> 00:54:53,940 신난다. 1139 00:54:53,940 --> 00:55:01,020 1140 00:55:01,020 --> 00:55:07,501 >> 우리는 약간의 포인터 그래서 만약 이 가고 ... 그 얘기도 난 나중에 ...하는 1141 00:55:07,501 --> 00:55:08,834 그것은 INT 포인터를 만들려고. 1142 00:55:08,834 --> 00:55:10,610 1143 00:55:10,610 --> 00:55:12,760 그것은이를 저장합니다. 1144 00:55:12,760 --> 00:55:14,210 1145 00:55:14,210 --> 00:55:20,170 당신은 포인터를 말한다면 더하기 하나, 그것은 할 무슨 1146 00:55:20,170 --> 00:55:23,420 이 업데이트 할 건 INT의 크기에 의해 그 1147 00:55:23,420 --> 00:55:25,950 그 때문에 포인터 유형은이다. 1148 00:55:25,950 --> 00:55:28,260 >> C로, 모든입니다 매우 엄격하고 규제. 1149 00:55:28,260 --> 00:55:29,440 1150 00:55:29,440 --> 00:55:35,260 INT 포인터로 업데이트 할 것입니다 INT이 걸릴 것이다 공간의 양. 1151 00:55:35,260 --> 00:55:36,260 INT는 4 바이트입니다. 1152 00:55:36,260 --> 00:55:37,650 1153 00:55:37,650 --> 00:55:39,060 >> 그래서이로 변신 것인가? 1154 00:55:39,060 --> 00:55:40,876 1155 00:55:40,876 --> 00:55:44,390 당신은이 상 사를 추가하는 것입니다. 1156 00:55:44,390 --> 00:55:50,040 이제 포인터가 확인 나중에 ... 것이다. 1157 00:55:50,040 --> 00:55:51,820 1158 00:55:51,820 --> 00:55:55,380 >> 경우에 따라서는 문자이고 우리는 포인터를했다 더하기 하나는, 지금 무엇을 할 것인가? 1159 00:55:55,380 --> 00:56:00,300 1160 00:56:00,300 --> 00:56:03,330 그것은 우리를 척 started-- 경우 그것은을 0x08의 지금 started--. 1161 00:56:03,330 --> 00:56:04,850 1162 00:56:04,850 --> 00:56:10,850 의 지금이이었다한다고 가정 해 봅시다 포인터를 CHAR, 우리는 하나를 추가했다. 1163 00:56:10,850 --> 00:56:11,850 그것은 무엇을 할 수 바꿀 것? 1164 00:56:11,850 --> 00:56:14,989 1165 00:56:14,989 --> 00:56:16,030 문자는 몇 바이트인가? 1166 00:56:16,030 --> 00:56:16,680 >> 대상 : 하나. 1167 00:56:16,680 --> 00:56:17,304 >> 스피커 1 : 하나. 1168 00:56:17,304 --> 00:56:18,309 청중 : 그래서은 0x09. 1169 00:56:18,309 --> 00:56:19,600 스피커 1 : 그래서 아홉이 될 것이다. 1170 00:56:19,600 --> 00:56:22,571 1171 00:56:22,571 --> 00:56:23,820 그래서 뭔가 기억합니다. 1172 00:56:23,820 --> 00:56:28,340 하나를 추가 할 바로 ​​그 때, 그것은 아니다 이 문자가 아니면 하나를 추가. 1173 00:56:28,340 --> 00:56:34,190 그것은 얼마나 많은 추가하는 것 그것은 인 타입 바이트 1174 00:56:34,190 --> 00:56:36,960 이는 우리가 왜 여기까지이 방정식. 1175 00:56:36,960 --> 00:56:40,190 그래서 그것의 INT 배 크기 포인터의 타입. 1176 00:56:40,190 --> 00:56:42,850 1177 00:56:42,850 --> 00:56:44,730 >> 그래서 우리는 여기에 예제가있다. 1178 00:56:44,730 --> 00:56:47,250 1179 00:56:47,250 --> 00:56:54,430 Y는, 그 값을 0x4에 할당 우리는 y를했다 더하기 하나에 해당하는 경우. 1180 00:56:54,430 --> 00:56:56,830 무엇에있어, 무엇이다 X에서, 변경되지 않습니다. 1181 00:56:56,830 --> 00:56:58,610 어떤 변화를 수행하는 것은 Y에 무엇이입니다. 1182 00:56:58,610 --> 00:57:04,980 Y에 저장된 주소는 4로 업데이트 4 바이트는 INT에 있기 때문에 1183 00:57:04,980 --> 00:57:06,097 그것은 INT 포인터입니다. 1184 00:57:06,097 --> 00:57:07,290 1185 00:57:07,290 --> 00:57:07,790 >> 좋아. 1186 00:57:07,790 --> 00:57:09,123 그래서 지금 우리는 또 다른 운동을해야합니다. 1187 00:57:09,123 --> 00:57:11,140 1188 00:57:11,140 --> 00:57:13,500 그래서 질문은 인쇄 할 것입니다. 1189 00:57:13,500 --> 00:57:36,710 1190 00:57:36,710 --> 00:57:37,650 어떤 아이디어? 1191 00:57:37,650 --> 00:57:41,690 1192 00:57:41,690 --> 00:57:43,699 >> 청중 :의 수 행복 고양이의 문자? 1193 00:57:43,699 --> 00:57:44,490 스피커 1 : 맞아요. 1194 00:57:44,490 --> 00:57:45,531 그래서 문자열처럼. 1195 00:57:45,531 --> 00:57:47,302 1196 00:57:47,302 --> 00:57:48,260 모든 사람이 그를 얻을 수 있습니까? 1197 00:57:48,260 --> 00:57:49,509 우리는 그것을 통해 걸어 하시겠습니까? 1198 00:57:49,509 --> 00:57:50,300 1199 00:57:50,300 --> 00:57:52,010 >> OK, 예. 1200 00:57:52,010 --> 00:57:57,385 그래서 우리는 내가 이곳에 무슨 훨씬 더이있다. 1201 00:57:57,385 --> 00:57:59,340 나는 필요 없어 [들림] 무지. 1202 00:57:59,340 --> 00:58:01,690 >> 그래서 우리는 여기에 우리의 문자열, 행복 고양이가있다. 1203 00:58:01,690 --> 00:58:02,950 사랑스러운. 1204 00:58:02,950 --> 00:58:05,080 우리는 일부 카운터가 그 우리는을 추적하고 있습니다. 1205 00:58:05,080 --> 00:58:11,430 그래서 우리는 몇 가지의 char * 포인터를 가지고 그 단지 str에 같게 설정된다. 1206 00:58:11,430 --> 00:58:14,320 이것이하는 일은 그것의이다 일부 포인터를 할당 1207 00:58:14,320 --> 00:58:16,380 당신의 문자열의 시작 부분에. 1208 00:58:16,380 --> 00:58:19,840 내가 확신하기 때문에, 같은 강의에서 언급되었다, 1209 00:58:19,840 --> 00:58:22,290 우리는 너희들을 준 문자열라는 데이터 유형입니다. 1210 00:58:22,290 --> 00:58:29,070 >> 하지만 실제로는 문자열은있다 배열은 * CHAR처럼 어디의. 1211 00:58:29,070 --> 00:58:32,330 그것은 문자의 무리에 대한 포인터이다 메모리에서 연속됩니다. 1212 00:58:32,330 --> 00:58:33,680 1213 00:58:33,680 --> 00:58:36,280 그래서 그냥 설정 임의의 문자열과 동일입니다 1214 00:58:36,280 --> 00:58:38,980 경우에 의해 확인 그것의 첫 번째 문자입니다. 1215 00:58:38,980 --> 00:58:42,710 그래서 이것은 단지 어느 시점을 설정하는 것입니다 문자열의 시작과 동일. 1216 00:58:42,710 --> 00:58:44,130 모두가 좋은? 1217 00:58:44,130 --> 00:58:44,960 쿨. 1218 00:58:44,960 --> 00:58:49,840 >> 그래서 이것은 우리의 포인터를 역 참조입니다. 1219 00:58:49,840 --> 00:58:53,760 그래서 실제로에 무슨 여기에서 우리에게 어떤 가치를 부여, 1220 00:58:53,760 --> 00:58:55,610 우리의 문자열에 우리에 대해 얘기하고있다. 1221 00:58:55,610 --> 00:58:58,342 그리고 우리는만큼 말을하는지 이 널 (NULL) 종료 아니다. 1222 00:58:58,342 --> 00:59:00,550 그래서 당신이 얻을 때까지 계속 문자열의 끝. 1223 00:59:00,550 --> 00:59:02,180 1224 00:59:02,180 --> 00:59:04,190 하나 포인터를 업데이트합니다. 1225 00:59:04,190 --> 00:59:09,250 그래서 R, 실제로 하나에 의해 업데이트됩니다 마다이 문자이기 때문에, 1226 00:59:09,250 --> 00:59:09,820 숯불 *. 1227 00:59:09,820 --> 00:59:10,930 1228 00:59:10,930 --> 00:59:12,340 >> 그래서 통과하는 것입니다. 1229 00:59:12,340 --> 00:59:13,290 그것은 업데이트 할 것입니다. 1230 00:59:13,290 --> 00:59:16,705 이 실행 처음 그래서, 이 시간에 여기에있을거야. 1231 00:59:16,705 --> 00:59:17,590 그것은 업데이트 할 것입니다. 1232 00:59:17,590 --> 00:59:18,185 >> 그것은 수있을 것입니다. 1233 00:59:18,185 --> 00:59:21,310 그것은 등등 등등 P, Y, 그리고 것입니다. 1234 00:59:21,310 --> 00:59:22,300 우리는 카운터를 업데이트합니다. 1235 00:59:22,300 --> 00:59:26,160 그 끝에 도달하면 그것을 그냥이라도 얼마나 인쇄합니다. 1236 00:59:26,160 --> 00:59:27,550 1237 00:59:27,550 --> 00:59:28,050 예. 1238 00:59:28,050 --> 00:59:31,475 >> 청중 : 그것은 카운트 그래서 바로 하나의 공간,? 1239 00:59:31,475 --> 00:59:31,974 확인을 클릭합니다. 1240 00:59:31,974 --> 00:59:34,294 1241 00:59:34,294 --> 00:59:35,222 >> 스피커 1 : 그렇게 생각 해요. 1242 00:59:35,222 --> 00:59:36,830 question--인가요 1243 00:59:36,830 --> 00:59:37,746 >> 청중 : [들리지]. 1244 00:59:37,746 --> 00:59:37,968 1245 00:59:37,968 --> 00:59:38,884 >> 스피커 1 : 걱정 마. 1246 00:59:38,884 --> 00:59:39,720 1247 00:59:39,720 --> 00:59:42,736 이 난 그렇게. 1248 00:59:42,736 --> 00:59:47,710 좋아요, 한 가지 내가 이해할 수있는 배열이, 1249 00:59:47,710 --> 00:59:51,736 또한로 처리 할 수​​ 있습니다 포인터 배열은 단지이기 때문에 1250 00:59:51,736 --> 00:59:52,860 메모리의 연속 명소. 1251 00:59:52,860 --> 00:59:53,970 1252 00:59:53,970 --> 00:59:56,380 >> 그래서 당신은 그것을 같은 방식으로 처리 할 수​​ 있습니다. 1253 00:59:56,380 --> 00:59:59,000 당신이 그들을 조작 할 수 있습니다 포인터, 너무. 1254 00:59:59,000 --> 01:00:04,770 그래서 그 대신이에, 일 경우, 유사한 것 1255 01:00:04,770 --> 01:00:07,490 것 배열 0 1 같습니다. 1256 01:00:07,490 --> 01:00:08,760 1257 01:00:08,760 --> 01:00:15,210 >> 하지만, 같은 방법으로 그 문자열이 결정된다 1258 01:00:15,210 --> 01:00:18,740 의 시작으로 그것의 첫 번째 문자이며, 1259 01:00:18,740 --> 01:00:22,270 배열에 의해 결정된다 여기서 첫 번째 원소이다. 1260 01:00:22,270 --> 01:00:25,120 우리가 알고 있기 때문에, 우리는있어 보장, 이들 1261 01:00:25,120 --> 01:00:27,985 연속거야 메모리 블록. 1262 01:00:27,985 --> 01:00:29,360 즉 우리가이 작업을 수행 할 수 있습니다 무엇. 1263 01:00:29,360 --> 01:00:31,193 우리는 그들이 계속 거 알아 메모리 블록. 1264 01:00:31,193 --> 01:00:32,230 1265 01:00:32,230 --> 01:00:36,500 >> 이 경우에 따라서, 역 참조하여 우리에게 단지 배열, 1266 01:00:36,500 --> 01:00:40,800 OK의 시작으로 이동 여기에 당신의 배열입니다. 1267 01:00:40,800 --> 01:00:42,640 그래서 당신은 하나가 동일하게 설정 할 수 있습니다. 1268 01:00:42,640 --> 01:00:48,610 이 경우, 어떤 배열 당신이 하나를 업데이트 할 때 유형,이다 1269 01:00:48,610 --> 01:00:50,830 그건 그냥 업데이트처럼 그 다음 인덱스. 1270 01:00:50,830 --> 01:00:52,760 1271 01:00:52,760 --> 01:00:56,360 당신은 할 수 있습니다 당신 때문에 배열에 무엇을 알고있다. 1272 01:00:56,360 --> 01:00:59,770 그래서 얼마에 알고 포인터를하여 업데이트 1273 01:00:59,770 --> 01:01:02,925 그 정도에 업데이트하는 것을 주소 당신은 다음 슬롯에 걸. 1274 01:01:02,925 --> 01:01:04,740 1275 01:01:04,740 --> 01:01:09,400 >> 그래서 그냥 다른 방법입니다 배열 0 1에 해당 쓰고, 1276 01:01:09,400 --> 01:01:15,114 어레이 (1)는이 어레이 같음 브라켓 2는 3과 같다. 1277 01:01:15,114 --> 01:01:16,780 그것은 그것에 대해 생각하는 또 다른 방법입니다. 1278 01:01:16,780 --> 01:01:19,600 그들은 연속이기 때문에 메모리 블록, 1279 01:01:19,600 --> 01:01:21,830 당신도 그들에게 참조 할 수 있습니다 배열 notation--로 1280 01:01:21,830 --> 01:01:24,390 이는 개인적으로 easier--을 발견하지만 어쩌면 1281 01:01:24,390 --> 01:01:27,347 당신은 그것을 조작해야 엄격하게 메모리 주소로. 1282 01:01:27,347 --> 01:01:28,930 그리고 이것은 당신이 그런 짓을하는 방식이다. 1283 01:01:28,930 --> 01:01:30,630 1284 01:01:30,630 --> 01:01:32,630 같은 종류의 더 당신이 할 수있는 멋진 일 1285 01:01:32,630 --> 01:01:35,213 당신이있어 아마 뭔가 대 실제로 구현하는 것이다. 1286 01:01:35,213 --> 01:01:36,960 1287 01:01:36,960 --> 01:01:38,630 >> 나는 61을 사용합니다. 1288 01:01:38,630 --> 01:01:41,710 너희들은 아마 필요가 없습니다 그것에 대해 너무 많이 걱정합니다. 1289 01:01:41,710 --> 01:01:43,693 그러나 만약 당신이 관심이 있다면, (61) 내년을. 1290 01:01:43,693 --> 01:01:45,269 1291 01:01:45,269 --> 01:01:46,560 우리는 홈 스트레치들에있어. 1292 01:01:46,560 --> 01:01:47,510 나는 알고있다, 그것은 오래입니다. 1293 01:01:47,510 --> 01:01:50,570 1294 01:01:50,570 --> 01:01:58,880 동적 메모리 Allocation-- 그래서 우리는 그 일을 알고있다 1295 01:01:58,880 --> 01:02:01,790 일들을 우리는 동안 이야기 할 때 함께 우리의 첫 번째 섹션, 1296 01:02:01,790 --> 01:02:04,560 우리는 스왑 보았다 기능 곳이었다 1297 01:02:04,560 --> 01:02:08,010 우리의 주요 기능의 범위를 벗어난다. 1298 01:02:08,010 --> 01:02:14,370 그리고 우리는이 값을 전달했다 즉 효율적으로 복사 할 수 있었다. 1299 01:02:14,370 --> 01:02:20,570 >> 그리고 스왑 일단 완료 실행, 그냥 스택을 떠났다. 1300 01:02:20,570 --> 01:02:22,830 기억, 우리가 스왑 프레임을 스택. 1301 01:02:22,830 --> 01:02:26,070 그것은 잎과 그 값은두고. 1302 01:02:26,070 --> 01:02:27,050 그리고 그들은 사라졌다. 1303 01:02:27,050 --> 01:02:28,615 우리는 아무것도 할 수 없었 그들과 우리와는 슬퍼 1304 01:02:28,615 --> 01:02:29,989 우리는 우리의 가치를 교환 할 수 없기 때문에. 1305 01:02:29,989 --> 01:02:31,070 1306 01:02:31,070 --> 01:02:36,560 >> 하지만, 당신이 언급 한 C와 같은 메모리를 통해 많은 힘을 가지고있다. 1307 01:02:36,560 --> 01:02:43,310 그래서 당신은 무엇을 할 수 있는지 당신은 할 수있다 여기에 힙에 일을 할당 1308 01:02:43,310 --> 01:02:46,830 그 때까지 거기에있을 것입니다 그렇지 않으면 그들에게 말해. 1309 01:02:46,830 --> 01:02:48,280 >> 그들은 좋은 아이 같아. 1310 01:02:48,280 --> 01:02:49,150 그들은 거기에있어. 1311 01:02:49,150 --> 01:02:50,270 그들은 두지 마십시오. 1312 01:02:50,270 --> 01:02:52,750 당신이 때까지 그들은 거기에있을거야 같은 확인, 당신은 멀리 갈 수 있습니다. 1313 01:02:52,750 --> 01:02:55,920 >> 스택에 물건 반면, who-- 그들은 장난 꾸러기 아이 같은거야. 1314 01:02:55,920 --> 01:02:59,160 당신이 원하는 때 그들은 단지 도망합니다 거기에 있어야하고 다 갔어요. 1315 01:02:59,160 --> 01:03:00,160 당신이 그들을 다시 얻을 수 없습니다. 1316 01:03:00,160 --> 01:03:01,350 1317 01:03:01,350 --> 01:03:07,187 >> 그래서 우리는 거 야는 ... 힙 malloc에​​ 무료에 대해 이야기하는 1318 01:03:07,187 --> 01:03:08,895 나는 확실히 너희들이야 강의에 대해 들었다. 1319 01:03:08,895 --> 01:03:10,270 1320 01:03:10,270 --> 01:03:14,210 그리고 기본적으로 방법 매우 영구 데이터를 가지고 있습니다. 1321 01:03:14,210 --> 01:03:18,920 그래서 당신은 데이터를 유지할 수 있습니다 주위에 원하는만큼. 1322 01:03:18,920 --> 01:03:19,546 MHM. 1323 01:03:19,546 --> 01:03:21,475 >> 청중 : 당신이 힙을 정의하고 쌓을 수 있나요? 1324 01:03:21,475 --> 01:03:24,030 그들은 물건을 넣어 장소를 좋아합니까? 1325 01:03:24,030 --> 01:03:26,630 >> 스피커 1 : 그래서 그들은있어 기본적으로 그들이있어 그냥 ... 1326 01:03:26,630 --> 01:03:29,530 우리가 메모리를 참조하는 방식. 1327 01:03:29,530 --> 01:03:37,300 따라서 힙은 어디에 배치된다 메모리는 동적으로 할당 1328 01:03:37,300 --> 01:03:40,960 스택이 의미하는 반면 스택 프레임이 더 1329 01:03:40,960 --> 01:03:45,950 더 중심적인 그 실제로 실행하는 기능을합니다. 1330 01:03:45,950 --> 01:03:47,200 당신은 정말 제어 할 수 없습니다. 1331 01:03:47,200 --> 01:03:50,690 >> 큰 차이는, 당신은 제어 할 수 있습니다 힙을 통해 당신이 원하는 경우. 1332 01:03:50,690 --> 01:03:52,710 당신은 스택에 덜 제어 할 수 있습니다. 1333 01:03:52,710 --> 01:03:55,030 스택에 따라 달라집니다 기능을 실행하는, 1334 01:03:55,030 --> 01:03:58,320 그리고 순서는 그들이있다 실행, 사물이 어떻게 반환됩니다. 1335 01:03:58,320 --> 01:04:01,290 힙 반면, 같은 우리는 당신이 말할 수있는, 볼 1336 01:04:01,290 --> 01:04:06,639 OK,이 값이 원하는 주위 때까지 그렇지 않으면 당신을 말해. 1337 01:04:06,639 --> 01:04:08,180 당신은 그것을 제거 할 수 없습니다. 1338 01:04:08,180 --> 01:04:09,300 당신은 그것을 대체 할 수있는 권한이 없습니다. 1339 01:04:09,300 --> 01:04:11,675 당신은 주위를 유지하는거야 한 제가 말씀으로합니다. 1340 01:04:11,675 --> 01:04:15,780 당신은 힙의 보스에 도착 당신 어쩌면 stack-- 반면, 1341 01:04:15,780 --> 01:04:18,080 같은 길을 속이다 당신의 보스가 될 수 있습니다. 1342 01:04:18,080 --> 01:04:19,340 그러나 꽤. 1343 01:04:19,340 --> 01:04:20,480 1344 01:04:20,480 --> 01:04:22,070 그리고 정말 그냥 메모리입니다. 1345 01:04:22,070 --> 01:04:24,260 그냥 다른 방법이다 의 메모리를 참조. 1346 01:04:24,260 --> 01:04:25,800 1347 01:04:25,800 --> 01:04:26,400 >> 쿨. 1348 01:04:26,400 --> 01:04:28,630 에, 어떻게 그와 그래서 당신의 기억을 제어 할 수 있습니다. 1349 01:04:28,630 --> 01:04:32,070 그것은 malloc에​​로의 어떤 당신이 사용하는 얻을 것입니다. 1350 01:04:32,070 --> 01:04:37,100 그래서 그냥 짧다 메모리 할당. 1351 01:04:37,100 --> 01:04:38,459 즉, 모든입니다. 1352 01:04:38,459 --> 01:04:41,250 다른 멋진의 무리가있다 마지막에 ALLOC이 기능, 1353 01:04:41,250 --> 01:04:42,750 그들은 다른 것을 위해 서있다. 1354 01:04:42,750 --> 01:04:43,550 1355 01:04:43,550 --> 01:04:49,050 >> 당신이 스토리지를 필요로 할 때 그래서 필요 그래서 현재의 기능보다 더 오래 갈 수 있습니다 1356 01:04:49,050 --> 01:04:51,010 때 전류가 기능은 도망 1357 01:04:51,010 --> 01:04:55,774 당신은 여전히​​ 데이터가 있음을 그것에서 가지고, 당신의 malloc을 사용하고 싶습니다. 1358 01:04:55,774 --> 01:04:57,190 즉, 힙에 초기화됩니다. 1359 01:04:57,190 --> 01:05:00,140 그리고 같은 내가 말했다 및 유지 당신이 그것을 유지하는 것, 말 1360 01:05:00,140 --> 01:05:03,050 당신이 그렇지 않으면 말할 때까지, 이는 여기서 중요한 것입니다. 1361 01:05:03,050 --> 01:05:08,450 >> 그래서 한 가지주의 사항 및합니다 즉, 일반적으로 정말 중요합니다 1362 01:05:08,450 --> 01:05:13,620 이를 sizeof 것입니다 사용하기 매우 유용합니다 1363 01:05:13,620 --> 01:05:16,440 종류에 따라 때문에 기계의 당신은 실행하고, 1364 01:05:16,440 --> 01:05:22,470 그것은 다양한 양을 가질 수있다 걸리는 메모리. 1365 01:05:22,470 --> 01:05:26,870 그래서 당신은 항상 크기를 사용하려면 당신이 의존하는 기계가 아니에요, 1366 01:05:26,870 --> 01:05:30,300 그래서 코드 것 모든 시스템에서 실행됩니다. 1367 01:05:30,300 --> 01:05:32,360 >> 그리고 그 한 부분이다 좋은 코드를 작성. 1368 01:05:32,360 --> 01:05:34,610 그것은 하나의 시스템에서 작동하는 경우, 하지만 다른 어느 1369 01:05:34,610 --> 01:05:36,440 프로그램이 얼​​마나 유용했다? 1370 01:05:36,440 --> 01:05:38,420 그래서 당신은 항상 원하는 확인 및 sizeof 연산자를 사용합니다. 1371 01:05:38,420 --> 01:05:41,306 >> 청중 : 그래서 같은 것을입니다 10인치 [들림]의 크기? 1372 01:05:41,306 --> 01:05:43,698 >> 스피커 1 :이 10 정수의 크기입니다. 1373 01:05:43,698 --> 01:05:44,197 그래. 1374 01:05:44,197 --> 01:05:45,360 1375 01:05:45,360 --> 01:05:48,830 그래서 정수의 크기가 반환됩니다 하나 INT는 얼마나 걸립니까. 1376 01:05:48,830 --> 01:05:51,530 또는 문자의 크기, 어떻게 대부분은 하나의 문자 걸릴 않습니다. 1377 01:05:51,530 --> 01:05:54,150 그리고 얼마나 많은 블록 그 당신이 원하는 무엇입니까? 1378 01:05:54,150 --> 01:05:57,590 >> 이 경우 그래서, 우리는 뭔가를 원하는 것을 우리는 10 정수에 저장할 수 있습니다. 1379 01:05:57,590 --> 01:06:00,240 그리고 관계없이 작동합니다 기계, 어떤 멋지다. 1380 01:06:00,240 --> 01:06:01,720 1381 01:06:01,720 --> 01:06:04,846 그래서 얼마나 많은 바이트 것 실제로 당신을 줄? 1382 01:06:04,846 --> 01:06:06,190 빠른 수학. 1383 01:06:06,190 --> 01:06:06,787 >> 청중 : 40. 1384 01:06:06,787 --> 01:06:07,370 스피커 1 : 40. 1385 01:06:07,370 --> 01:06:07,869 정확히. 1386 01:06:07,869 --> 01:06:09,520 1387 01:06:09,520 --> 01:06:12,030 그래서 또 다른 큰 일. 1388 01:06:12,030 --> 01:06:14,840 포인터 또는 malloc에​​는 null를 반환 할 수 있습니다. 1389 01:06:14,840 --> 01:06:17,910 >> 그래서 다시, 항상 확인 null가 반환되는지 확인 1390 01:06:17,910 --> 01:06:19,620 당신이 시도하고 그것으로 무엇을하기 전에. 1391 01:06:19,620 --> 01:06:23,430 1392 01:06:23,430 --> 01:06:27,350 당신이 시도하고 역 참조하는 경우 지금이 포인터, 1393 01:06:27,350 --> 01:06:29,720 그냥 세그 폴트 것 당신이 가서 시도 때문에 1394 01:06:29,720 --> 01:06:31,730 당신이하지 말았어야 할 때 널 (null) 누릅니다. 1395 01:06:31,730 --> 01:06:34,000 그래서 항상 널 (null)이 있는지 확인합니다. 1396 01:06:34,000 --> 01:06:36,075 다시 말하지만, 모든 당신은 할 수 있습니다. 1397 01:06:36,075 --> 01:06:38,300 1398 01:06:38,300 --> 01:06:39,720 >> 그것은 null을 반환 할 수 있습니다. 1399 01:06:39,720 --> 01:06:42,740 당신이 하나 있다면 그것은 null을 리턴합니다 공간 부족, 또는 어떤 이유 1400 01:06:42,740 --> 01:06:44,350 그것은 일부 메모리 버그에 달렸다. 1401 01:06:44,350 --> 01:06:45,890 1402 01:06:45,890 --> 01:06:47,510 그것은 때로는 null를 돌려줍니다. 1403 01:06:47,510 --> 01:06:48,990 그래서 당신은 단지 그것을 확인해야합니다. 1404 01:06:48,990 --> 01:06:51,050 즉이 모든 슬라이드 말하고있다. 1405 01:06:51,050 --> 01:06:53,366 1406 01:06:53,366 --> 01:06:55,240 그리고 우리는 무엇을 여기에 무료로 전화입니다. 1407 01:06:55,240 --> 01:07:00,550 같은 방법으로한다는 점에서 그래서 경우 당신이 파일을 닫아야합니다 파일을 열고, 1408 01:07:00,550 --> 01:07:04,340 당신이 경우 malloc에​​ 메모리, 당신 해당 메모리를 해제해야합니다. 1409 01:07:04,340 --> 01:07:06,530 그리고 너희들 얻을 것이다 정말 멋진 물건을 할 수 있습니다. 1410 01:07:06,530 --> 01:07:09,624 >> 그리고 당신이 실행할 수있는 프로그램이있다 혹시 메모리를 누출하는 경우를 참조하십시오. 1411 01:07:09,624 --> 01:07:11,040 하지만 메모리가 누수 싶지 않아요. 1412 01:07:11,040 --> 01:07:11,820 정말 나쁘다. 1413 01:07:11,820 --> 01:07:13,191 1414 01:07:13,191 --> 01:07:15,020 그냥 엉망 일. 1415 01:07:15,020 --> 01:07:20,939 >> 그냥 프로그래밍처럼 할 나쁜 디자인 효율성을위한 현명한. 1416 01:07:20,939 --> 01:07:22,980 그러나 그것은 단지 종류이기도 컴퓨터에 대한 나쁜. 1417 01:07:22,980 --> 01:07:26,780 그러니 그냥 무료 것들 당신이 그들을 malloc을 때. 1418 01:07:26,780 --> 01:07:28,190 1419 01:07:28,190 --> 01:07:30,210 >> 너희들은 여기에 대칭을 참조하십시오. 1420 01:07:30,210 --> 01:07:31,180 슈퍼 간단한. 1421 01:07:31,180 --> 01:07:33,010 그냥 무료로하고 어떤 포인터, 1422 01:07:33,010 --> 01:07:34,843 어떤 이름의 포인터이고, 그 1423 01:07:34,843 --> 01:07:36,710 당신을 위해 그것을 자유롭게 처리됩니다. 1424 01:07:36,710 --> 01:07:38,200 1425 01:07:38,200 --> 01:07:38,700 쿨. 1426 01:07:38,700 --> 01:07:40,410 1427 01:07:40,410 --> 01:07:42,530 >> 그리고 우리는이 있습니다. 1428 01:07:42,530 --> 01:07:44,770 그래서 우리는 그냥가는거야 이 프로그램을 통해 도보. 1429 01:07:44,770 --> 01:07:46,560 그리고 너희들이 수행됩니다. 1430 01:07:46,560 --> 01:07:50,240 >> 그래서 [들리지] 단지 주. 1431 01:07:50,240 --> 01:07:51,690 그래서 우리는 몇 가지 INT의 * 포인터를 가지고있다. 1432 01:07:51,690 --> 01:07:53,648 그래서 우리는 포인터를 가지고 그 정수를 개최 할 예정입니다. 1433 01:07:53,648 --> 01:07:54,500 1434 01:07:54,500 --> 01:07:56,170 그리고 얼마나 많은 정수는 개최 할 예정입니까? 1435 01:07:56,170 --> 01:07:57,400 1436 01:07:57,400 --> 01:07:58,170 그냥 하나. 1437 01:07:58,170 --> 01:07:59,400 1438 01:07:59,400 --> 01:08:01,100 INT의 크기. 1439 01:08:01,100 --> 01:08:03,900 >> 우리는 있는지 확인 포인터가 있기 때문에 null의 1440 01:08:03,900 --> 01:08:06,130 우리가 아무것도하지 말하고 싶은 것이다. 1441 01:08:06,130 --> 01:08:07,065 그것은 나쁜. 1442 01:08:07,065 --> 01:08:08,130 1443 01:08:08,130 --> 01:08:12,130 그래서 우리는 중 일부 오류를 인쇄 메모리, 대부분 1 반환 1444 01:08:12,130 --> 01:08:14,260 너희들로 사용된다. 1445 01:08:14,260 --> 01:08:17,390 >> 그리고 우리는 우리가 여기에있다 우리의 포인터 역 참조. 1446 01:08:17,390 --> 01:08:22,840 그래서 우리가 저장 거란 뜻 우리에게 주어진 위치에서 뭔가. 1447 01:08:22,840 --> 01:08:24,350 1448 01:08:24,350 --> 01:08:30,830 INT * 포인터, 또는 malloc에​​가 반환 그것은이 따로 곳의 주소 1449 01:08:30,830 --> 01:08:31,750 당신을 위해 메모리. 1450 01:08:31,750 --> 01:08:32,830 1451 01:08:32,830 --> 01:08:34,800 그래서 기본적이다 당신이 경우 라니 제공 1452 01:08:34,800 --> 01:08:38,149 한 무리의 생각 이웃 주택 1453 01:08:38,149 --> 01:08:40,640 당신은 넣어 원하는 당신의 가구에, malloc에 1454 01:08:40,640 --> 01:08:43,850 OK와 같은, 당신이 얻을 것이다 세 집에갑니다. 1455 01:08:43,850 --> 01:08:45,800 그리고 그것은 당신을 제공합니다 집 세의 주소. 1456 01:08:45,800 --> 01:08:48,775 >> 그래서 지금,이 포인터를 저장 주소, 1457 01:08:48,775 --> 01:08:50,149 당신의 집의 주소를 저장합니다. 1458 01:08:50,149 --> 01:08:51,470 1459 01:08:51,470 --> 01:08:54,640 * PTR 수단, OK, 나는 나의 집에 있어요. 1460 01:08:54,640 --> 01:08:55,326 쿨. 1461 01:08:55,326 --> 01:08:56,580 나는 약간의 정수를 얻을 필요가있다. 1462 01:08:56,580 --> 01:08:59,229 >> 그래서 당신은 사람을 요구하고 지금 당신에게 가구를 제공합니다. 1463 01:08:59,229 --> 01:09:00,430 그래서 당신은 어떤 INT를 얻을. 1464 01:09:00,430 --> 01:09:05,100 그리고 포인터에 넣습니다 어디가 가리키는 것. 1465 01:09:05,100 --> 01:09:08,670 >> 그리고, 그것은 단지 인쇄 아웃, 당신은 어디든지 들어갔다. 1466 01:09:08,670 --> 01:09:11,060 그리고 다시, 참조. 1467 01:09:11,060 --> 01:09:15,649 그래서이이 갔다처럼 해결하고 당신이 무엇인지 보았다. 1468 01:09:15,649 --> 01:09:17,120 1469 01:09:17,120 --> 01:09:17,630 쿨? 1470 01:09:17,630 --> 01:09:20,174 >> 그리고 물론 우리는 우리의 포인터를 무료. 1471 01:09:20,174 --> 01:09:21,590 포인터를 해제하는 것을 잊지 마십시오. 1472 01:09:21,590 --> 01:09:22,933 널 (null)을 확인하는 것을 잊지 마십시오. 1473 01:09:22,933 --> 01:09:24,349 포인터를 해제하는 것을 잊지 마십시오. 1474 01:09:24,349 --> 01:09:27,270 당신은 당신의 기억 두 가지가 이, 또는 당신은 기억해야한다고. 1475 01:09:27,270 --> 01:09:27,770 예. 1476 01:09:27,770 --> 01:09:31,590 청중 : [들리지] 물건 그런, 숯불 * s의. 1477 01:09:31,590 --> 01:09:33,760 우리는 사람들을 어떻게 확보하지 거죠? 1478 01:09:33,760 --> 01:09:34,529 >> 스피커 1 : 흠? 1479 01:09:34,529 --> 01:09:36,450 >> 청중 : 문자열 같은 사람들이 있습니까? 1480 01:09:36,450 --> 01:09:39,160 당신은 문자열이 말했다 바로 숯불 * s의 같은, 맞죠? 1481 01:09:39,160 --> 01:09:41,200 그럼 왜 우리는 문자열을 해제하지 않습니다? 1482 01:09:41,200 --> 01:09:43,204 >> 스피커 1 : 만에 무료 당신은 mallocing하는 경우. 1483 01:09:43,204 --> 01:09:44,620 청중 : 오, 당신이 mallocing하는 경우. 1484 01:09:44,620 --> 01:09:47,399 스피커 1 : 그래서 malloc에 무료 두 가지가 있습니다 1485 01:09:47,399 --> 01:09:49,000 당신은 항상 함께 가지고 있어야한다고. 1486 01:09:49,000 --> 01:09:51,630 F 개방 F 가까운, 두 가지 당신은 함께 있어야합니다. 1487 01:09:51,630 --> 01:09:54,471 두 이러한 경우, 널 (null)이 있는지 확인합니다. 1488 01:09:54,471 --> 01:09:54,971 예. 1489 01:09:54,971 --> 01:09:57,130 >> 청중 : 그래서 무료로 그냥 다른 것을 허용 1490 01:09:57,130 --> 01:09:59,690 후가 저장 될 이 프로그램을 사용하고있다? 1491 01:09:59,690 --> 01:10:01,946 >> 스피커 1 : 그냥 말하는 것, 좋아, 내가이 수행하고 있습니다. 1492 01:10:01,946 --> 01:10:03,320 당신은 그것을 주위를 계속 할 필요가 없습니다. 1493 01:10:03,320 --> 01:10:05,340 1494 01:10:05,340 --> 01:10:08,190 그렇지 않으면 컴퓨터는 것 다만 시도 좋아하고 거기에 보관합니다. 1495 01:10:08,190 --> 01:10:10,910 그리고 당신은 그것을 실행 못 ... 나중에 메모리 문제로. 1496 01:10:10,910 --> 01:10:13,660 당신은 항상 있기 때문에 그것을 해제 할 그것은 OK, 난 컴퓨터를 알려줍니다 1497 01:10:13,660 --> 01:10:15,190 메모리의이 자리를 함께 수행. 1498 01:10:15,190 --> 01:10:17,190 당신은 그것을 다시 할 수 있습니다 나를 위해 나중에 사용할 수 있습니다. 1499 01:10:17,190 --> 01:10:19,250 1500 01:10:19,250 --> 01:10:20,500 쿨? 1501 01:10:20,500 --> 01:10:21,320 예. 1502 01:10:21,320 --> 01:10:26,950 >> 청중 : 그래서 우리는 % d 개를 사용 단지 이중 때문 돌아오고, 1503 01:10:26,950 --> 01:10:28,330 또는 왜 [들림] 친구는 .... 1504 01:10:28,330 --> 01:10:30,170 1505 01:10:30,170 --> 01:10:31,620 >> 청중 : 당신은 % I을 사용할 수 있습니까? 1506 01:10:31,620 --> 01:10:32,760 >> 스피커 1 : % 사용 i 수 있습니다. 1507 01:10:32,760 --> 01:10:35,052 1508 01:10:35,052 --> 01:10:36,135 여기서 남은 질문? 1509 01:10:36,135 --> 01:10:38,310 1510 01:10:38,310 --> 01:10:38,985 어서. 1511 01:10:38,985 --> 01:10:40,610 청중 : 난 그냥 빠른 질문이 있습니다. 1512 01:10:40,610 --> 01:10:50,200 그래서 PTR 변수 그게 ... 같은 INT의 *의 PTR = malloc에​​와, 1513 01:10:50,200 --> 01:10:54,142 그것은 단지는 끝났어 memory--에있는 장소를 가리키는 1514 01:10:54,142 --> 01:10:55,600 스피커 1 : [들리지 하시겠습니까? 1515 01:10:55,600 --> 01:10:58,050 청중 : 떡 치는이의 크기는 집게 리아 아니, 괜찮아요. 1516 01:10:58,050 --> 01:11:01,292 그러나 그것은 단지 장소를 가리키는 것 단지 4 바이트처럼 메모리. 1517 01:11:01,292 --> 01:11:02,000 스피커 1 : 맞아요. 1518 01:11:02,000 --> 01:11:03,030 1519 01:11:03,030 --> 01:11:07,070 INT는 말한다 너무 크기의 malloc, OK, 난 도망 갈거야, 1520 01:11:07,070 --> 01:11:08,780 당신을 위해 4 바이트의 메모리를 찾을 수 있습니다. 1521 01:11:08,780 --> 01:11:10,700 그것은 네 것을 발견하면 바이트 메모리 그것을 1522 01:11:10,700 --> 01:11:14,030 당신은 주소를 다시 부여합니다 이 시작하는 위치의, 1523 01:11:14,030 --> 01:11:16,160 그 저장 무엇 포인터, 또는 PTR에서. 1524 01:11:16,160 --> 01:11:17,510 1525 01:11:17,510 --> 01:11:18,010 좋은. 1526 01:11:18,010 --> 01:11:18,742 1527 01:11:18,742 --> 01:11:21,700 너희들은 대부분의보다 혼란 봐 내가 포인터에 대해 이야기 사람들, 1528 01:11:21,700 --> 01:11:23,670 그래서 나는 지금 매우 기분이 좋다. 1529 01:11:23,670 --> 01:11:24,520 >> 좋아. 1530 01:11:24,520 --> 01:11:27,960 언제나처럼, 너희들은 모두이 있어야합니다 지금 당신의 pset2 성적을 얻었다. 1531 01:11:27,960 --> 01:11:32,769 내가 아는 어떤 남았습니다가왔다 그것이 말하는 것, 유효하지 않은 식 1532 01:11:32,769 --> 01:11:33,310 또는 뭔가. 1533 01:11:33,310 --> 01:11:36,166 당신의 모든 걸 처리하는 경우 성적은 내 옆에 유효합니다. 1534 01:11:36,166 --> 01:11:38,040 그래서 난 당신을 보낼 수 있습니다 성적의 스크린 샷. 1535 01:11:38,040 --> 01:11:39,011 1536 01:11:39,011 --> 01:11:41,760 그냥뿐만 아니라 당신이 있다면 알려주세요 모든 등급 또는 뭔가가 1537 01:11:41,760 --> 01:11:43,060 이해하지 않는 것 같습니다. 1538 01:11:43,060 --> 01:11:43,720 내게로 오라. 1539 01:11:43,720 --> 01:11:44,830 1540 01:11:44,830 --> 01:11:48,830 >> 나는 당신의 슈퍼 자랑스러워했습니다 사람들은 이미, 그래서 그것을 유지. 1541 01:11:48,830 --> 01:11:50,640 그리고 당신의 주의 좋은 휴식을해야합니다. 1542 01:11:50,640 --> 01:11:53,440 나는 몇 가지를 볼 수 있습니다 나는 확신 근무 시간에 당신의. 1543 01:11:53,440 --> 01:11:55,414