1 00:00:00,000 --> 00:00:00,410 2 00:00:00,410 --> 00:00:03,130 >> 데이비드 J. 마란 : 그래서 그것은 밝혀 그 문자열을 복사하는 것은 거의 없습니다 3 00:00:03,130 --> 00:00:05,750 , 원시를 복사하는 간단한 INT 또는 부유물 등을들 수있다. 4 00:00:05,750 --> 00:00:09,190 결국, 후드 아래 문자열 일련의 문자입니다. 5 00:00:09,190 --> 00:00:13,130 그래서 문자열을 복사, 따라서에있다 그 시퀀스 전체의 복사를 포함 6 00:00:13,130 --> 00:00:14,240 문자. 7 00:00:14,240 --> 00:00:17,470 >> 의 그를 다시 보자 마지막으로 구현이 찢어 8 00:00:17,470 --> 00:00:21,470 라인, 문자열 t는의에 해당하는 분명 충분하지 않았다. 9 00:00:21,470 --> 00:00:24,440 의이 라인으로 교체하자 그 다음과 같이 대신 보인다. 10 00:00:24,440 --> 00:00:34,020 문자열 t는 문자열 길이의의의 malloc을 가져옵니다 문자의의 1을 더한 배 크기. 11 00:00:34,020 --> 00:00:36,320 >> 지금가는 비트 인용있다 이 코드 라인에. 12 00:00:36,320 --> 00:00:39,330 첫째, malloc에​​, 짧은 메모리 할당 및 13 00:00:39,330 --> 00:00:40,700 기능은 그냥 않습니다. 14 00:00:40,700 --> 00:00:44,740 정수 감안할 때, 그것은 당신에게 반환 의 메모리 청크의 주소 15 00:00:44,740 --> 00:00:45,960 많은 바이트. 16 00:00:45,960 --> 00:00:50,090 한편, 문자열의 길이에 1을 더한 우리가 원하는 것을 표시하기위한 것입니다 17 00:00:50,090 --> 00:00:54,690 의 이미 점유로 바이트, 그 null 종결 포함 18 00:00:54,690 --> 00:00:57,050 문자열의 끝에 백 슬래시 0. 19 00:00:57,050 --> 00:01:00,170 >> 한편, 나는 반드시 기억하지 않는다 문자도, 얼마나 큰 20 00:01:00,170 --> 00:01:04,340 대부분의 시스템에서 단순히 1 비록 바이트, 그래서 숯불의 크기를 부를 것 21 00:01:04,340 --> 00:01:08,210 동적으로 파악 얼마나 큰 개별 문자입니다. 22 00:01:08,210 --> 00:01:12,550 일단 함께 곱, 나는 돌아 가야 내가 필요로하는 바이트의 총 수. 23 00:01:12,550 --> 00:01:14,680 >> 하지만 malloc에​​는 무엇을 실패하는 경우 우리가 필요로하는 메모리를 반환? 24 00:01:14,680 --> 00:01:16,730 나는 다음과 같이 가장 좋은 것을 확인 것입니다. 25 00:01:16,730 --> 00:01:23,330 t가 null 같으면 내가 먼저 갈거야 무료 s의 메모리가 GET에 의해 반환 26 00:01:23,330 --> 00:01:27,120 문자열, 그리고 난에 갈거야 오류를 의미하는 1을 반환합니다. 27 00:01:27,120 --> 00:01:30,360 >> 모든 것이 잘 경우, 나는 진행거야 네 루프를 사용하여 반복 28 00:01:30,360 --> 00:01:31,110 다음과 같이. 29 00:01:31,110 --> 00:01:36,000 INT를 들어 내가 0, N 같음을 얻을 의의 문자열 길이. 30 00:01:36,000 --> 00:01:40,350 나는 너무 오래 전이기 때문에이 작업을 수행 할거야 보다 작거나 N에 해당하는 그래서 31 00:01:40,350 --> 00:01:44,460 통해서 포함한 반복 의의 null 종료 문자. 32 00:01:44,460 --> 00:01:47,450 >> 그리고 각각의 반복에, 난 나는 증가하는 것. 33 00:01:47,450 --> 00:01:52,496 한편,이 루프의 내부 복사 T의 i 번째에의의의는 i 번째 문자 34 00:01:52,496 --> 00:01:59,310 위치는 t를 수행하기에 충분 브래킷 난의 브래킷 난을 가져옵니다. 41 00:01:59,320 --> 00:02:02,750 >> 의 지금, 저장, 컴파일시켜, 이 새로운 프로그램을 실행합니다. 42 00:02:02,750 --> 00:02:06,690 사본 1 점 슬래시 복사본 만들기 1. 43 00:02:06,690 --> 00:02:09,460 그리고 나는 무엇인가 말할 것 안녕하세요 모두 소문자. 44 00:02:09,460 --> 00:02:12,280 그리고 다행히도,이 시간 내 원래는 변경되지 않고 그대로 유지됩니다. 45 00:02:12,280 --> 00:02:13,660 안녕하세요 모두 소문자. 46 00:02:13,660 --> 00:02:15,540 하지만 복사, 참으로, 대문자입니다. 47 00:02:37,120 --> 00:02:38,963