1 00:00:00,000 --> 00:00:03,080 >> 스피커 1 : 그것은 우리가 할 수있는 밝혀 성공적으로 두 값을 교환 2 00:00:03,080 --> 00:00:07,670 으로 그들을 전달하여 변수 값이 아닌 또는 복사에 의해 작동하지만, 3 00:00:07,670 --> 00:00:10,390 참조하거나 자신의 주소로. 4 00:00:10,390 --> 00:00:12,740 즉, 우리가 활용해야 포인터로 알려진 무엇인가. 5 00:00:12,740 --> 00:00:15,580 포인터는, 정말, 단지 어떤 변수의 주소. 6 00:00:15,580 --> 00:00:19,660 그래서 우리는,라는 함수를 제공하는 경우 말의 주소로 교체 7 00:00:19,660 --> 00:00:23,550 변수와 다른 사람의 주소 변수, 스왑에 권한을 부여해야합니다 8 00:00:23,550 --> 00:00:26,090 해당 주소의 각으로 이동 실제로 변경 9 00:00:26,090 --> 00:00:27,360 있다 값. 10 00:00:27,360 --> 00:00:28,890 >> 의 맥락에서 볼 수 있습니다. 11 00:00:28,890 --> 00:00:31,360 다음의 스왑을 다시 구현할 수 있습니다. 12 00:00:31,360 --> 00:00:35,810 첫째, INT 수없는을 변경할 수 하지만 int로 포인터 나 할 13 00:00:35,810 --> 00:00:36,920 INT의 주소. 14 00:00:36,920 --> 00:00:40,820 다음의 변화, B에 대한 동일한 작업을 수행 할 int에서 그것은에 대한 포인터이어야합니다 15 00:00:40,820 --> 00:00:42,780 지능이나 INT의 주소. 16 00:00:42,780 --> 00:00:45,860 >> 그런 다음 스왑의 내부에 여전히하자 우리가 할 수 있도록 TMP 선언 17 00:00:45,860 --> 00:00:47,810 의 값을 임시 장소. 18 00:00:47,810 --> 00:00:52,430 그러나의 값 자체 아니다 때문에, 또, 현재의 주소입니다 19 00:00:52,430 --> 00:00:53,270 일부 INT의. 20 00:00:53,270 --> 00:00:57,320 우리는 그 주소로 이동합니다 그렇다면 해당 주소 INT을, 우리는이 21 00:00:57,320 --> 00:01:03,020 이 포인터 역 참조, 또한 방법으로 스타 연산자, 스타를 작성. 22 00:01:03,020 --> 00:01:05,470 >> 다음으로, 변경하지 않으 a의 값. 23 00:01:05,470 --> 00:01:08,770 나는에서 값을 변경하려면 마음에두고, 다시, 24 00:01:08,770 --> 00:01:10,350 그는 주소입니다. 25 00:01:10,350 --> 00:01:14,050 그래서 이렇게, 또 필요 스타가 얻는 대답. 26 00:01:14,050 --> 00:01:18,360 그리고 지금은 값에 넣을 즉, B에서 B의 값이 아니다하는 27 00:01:18,360 --> 00:01:19,720 또한 주소입니다. 28 00:01:19,720 --> 00:01:22,280 >> 그래서 다시 내가 스타 B를 말한다. 29 00:01:22,280 --> 00:01:26,690 그럼 내 마지막 줄에, 나는 필요 B와 주소에 무엇을 덮어 30 00:01:26,690 --> 00:01:28,970 의 원래 위치에 있었는지. 31 00:01:28,970 --> 00:01:32,910 이를 위해, 나는 스타 B는 TMP를 얻을 않습니다. 32 00:01:32,910 --> 00:01:34,820 >> 이제 하루의 끝에서, 본 기능은 아직 33 00:01:34,820 --> 00:01:35,950 세 줄의 코드. 34 00:01:35,950 --> 00:01:39,860 그러나 때문에 값을 조작 자신의 주소로서가 아니라 35 00:01:39,860 --> 00:01:43,700 로 전달 된 원료 값 기능, 나는 스왑이 지금 주장 36 00:01:43,700 --> 00:01:47,670 값을 변경 할 수있는 권한이 자신의 주소를 통해 전달됩니다. 37 00:01:47,670 --> 00:01:49,510 >> 하지만 난 여전히 하나의 변화를 확인해야합니다. 38 00:01:49,510 --> 00:01:52,190 난 더 이상 전달할 수 x와 y 자체. 39 00:01:52,190 --> 00:01:55,030 나는 주소를 전달해야 x와 y의. 40 00:01:55,030 --> 00:01:58,160 그리고 그렇게, 조금을 필요로 다른 표기법 위로 위로. 41 00:01:58,160 --> 00:02:02,510 내가 전달하여 x와 y를 교환 할 로 나타낸 X의 주소, 42 00:02:02,510 --> 00:02:07,190 앰퍼샌드 X 및 주소 Y, 앰퍼샌드 (Y)로 표시. 43 00:02:07,190 --> 00:02:10,570 >> 마찬가지로, 정상까지 지금은 필요가 에 함수의 프로토 타입을 변경 44 00:02:10,570 --> 00:02:14,980 나는이 만든 변화와 일치되도록 다시, INT에 대한 포인터입니다. 45 00:02:14,980 --> 00:02:17,190 B는, 다시는 int에 대한 포인터입니다. 46 00:02:17,190 --> 00:02:18,770 그리고 지금 내 파일을 저장할 수 있습니다. 47 00:02:18,770 --> 00:02:20,680 그리고 현실을 다시 컴파일하고 실행하자. 48 00:02:20,680 --> 00:02:25,330 >> 스왑 점 슬래시 스왑을합니다. 49 00:02:25,330 --> 00:02:29,660 그리고이 때, x와 y는 지금 참으로 그 값이 아니라는 등의 교환 50 00:02:29,660 --> 00:02:31,950 1, 2, 2, 1 만. 51 00:02:31,950 --> 00:02:34,900