2 00:00:00,000 --> 00:00:02,760 >> 스피커 1 :의 프로그램을 작성하자 그 이름에 대한 사용자와 메시지를 표시 3 00:00:02,760 --> 00:00:04,700 세 학생의 집. 4 00:00:04,700 --> 00:00:08,840 자, 그 이름과 주택을 저장하기 우리는 무엇을, 여섯 변수를 사용할 수 있습니다. 5 00:00:08,840 --> 00:00:12,260 세 가지 이름에 대한 문자열 및 다른 주택 세 개의 문자열, 6 00:00:12,260 --> 00:00:16,560 그러나 우리는 이미 우리가 청소를 할 수 있다는 것을 알고 대신 배열을 사용하여 해당 코드 7 00:00:16,560 --> 00:00:20,220 예를 들어 대한 크기 3의 배열 세 개의 이름, 그리고 다른 배열 8 00:00:20,220 --> 00:00:22,110 주택 크기 3. 9 00:00:22,110 --> 00:00:25,870 그러나 우리가 이것을 정리할 수 밝혀 또한 여전히, 실제로 그 유지 10 00:00:25,870 --> 00:00:30,520 함께 이름과 집, 그 때문에 학생의 이름과 자신의 집 11 00:00:30,520 --> 00:00:34,940 어떻게 든 그렇게에, 캡슐화 같은 변수에, 말한다. 12 00:00:34,940 --> 00:00:39,095 >> 이렇게하려면,하지만, 우리는 선언 할 필요 우리 자신의 데이터 타입, C에있는 우리의 자신의 형, 13 00:00:39,095 --> 00:00:42,660 C의 저자는 필요하지 않았다 년 전 생각합니다. 14 00:00:42,660 --> 00:00:45,630 이를 위해 우리는 키워드를 사용할 수 있습니다 형식 정의,와 함께 15 00:00:45,630 --> 00:00:47,200 다른 키워드 구조체. 16 00:00:47,200 --> 00:00:48,160 어디 보자. 17 00:00:48,160 --> 00:00:50,650 structs.h의 내부, 이미했습니다 에 의해 시작 받고 18 00:00:50,650 --> 00:00:52,560 CS50 라이브러리를 포함. 19 00:00:52,560 --> 00:00:57,640 나는 다음, 형식 정의 구조체를 입력 할거야 다음 중괄호. 20 00:00:57,640 --> 00:01:01,370 구조체의 내부, 그럴려고 학생이 있어야한다하도록 지정 21 00:01:01,370 --> 00:01:04,960 이름라는 문자열 및 다른 문자열은 집이라고. 22 00:01:04,960 --> 00:01:08,430 그럼 내가 중괄호를 닫거야, 그리고 지정한 이름 23 00:01:08,430 --> 00:01:11,420 이 새로운 데이터 유형은 학생이어야한다. 24 00:01:11,420 --> 00:01:15,550 즉,이 구를 통해 I가 가지고 내 자신의 새로운 데이터 형식 선언 25 00:01:15,550 --> 00:01:19,910 그 순간 전 존재하지 않고 이 데이터 형식의 안쪽이 데이터는 이하와 같다 26 00:01:19,910 --> 00:01:24,270 필드 또는 데이터 멤버 이름이라고 하나, 하나라는 집, 둘의 27 00:01:24,270 --> 00:01:25,630 문자열 형식입니다. 28 00:01:25,630 --> 00:01:27,690 >> 의 지금이 유형을 사용하자 실제 프로그램. 29 00:01:27,690 --> 00:01:30,210 30 00:01:30,210 --> 00:01:34,090 structs0.c, 나는 비슷하게 왔 자신은 일부 이미 시작 31 00:01:34,090 --> 00:01:36,999 상용구 코드, 그리고 지금이야 이 데이터를 사용하려고 32 00:01:36,999 --> 00:01:39,100 다음과 같이 학생을 입력합니다. 33 00:01:39,100 --> 00:01:42,450 내가 먼저 선언 할거야 유형 학생의 배열, 나는거야 34 00:01:42,450 --> 00:01:43,920 배열의 학생을 호출 - 35 00:01:43,920 --> 00:01:44,630 복수 - 36 00:01:44,630 --> 00:01:49,360 나는 크기가되도록 지정합니다 의 값, 통지, 세, 37 00:01:49,360 --> 00:01:50,880 상수 학생 - 38 00:01:50,880 --> 00:01:51,890 모두 대문자에서 - 39 00:01:51,890 --> 00:01:54,930 나는 여기에 선언 한 것으로, 이전 파일의. 40 00:01:54,930 --> 00:01:58,280 의 지금이 세 가지를 반복하자 학생, 대한 메시지를 사용자에게 표시 41 00:01:58,280 --> 00:02:00,050 자신의 이름과 주택. 42 00:02:00,050 --> 00:02:05,422 >> 내가 0을 얻을 INT, 나는 작 그 상수보다, 내가 + +. 43 00:02:05,422 --> 00:02:08,600 그리고 지금이의 몸의 내부 루프, 내가 뭔가를 인쇄거야 44 00:02:08,600 --> 00:02:11,470 학생의 이름 등을들 수있다. 45 00:02:11,470 --> 00:02:14,890 그런 다음 실제로 얻을거야 그 지정하여 학생의 이름 46 00:02:14,890 --> 00:02:17,290 학생들은 내가 브라켓. 47 00:02:17,290 --> 00:02:21,550 즉 나는 i 번째 학생을 원하는 지금 학생들라는 배열 만 48 00:02:21,550 --> 00:02:25,340 그 i 번째 학생의에서 싶어 이름을 지정하고이 작업을 수행하는, 내가 사용하는거야 49 00:02:25,340 --> 00:02:30,160 . 연산자를 얻기 위해 구조체의 특정 필드의 내부. 50 00:02:30,160 --> 00:02:37,100 그래서 학생들이 전. 이름을 괄호로 지정 하는 GetString의 반환 값을 가져옵니다 (). 51 00:02:37,100 --> 00:02:40,310 한편, 나는 인쇄 할거야 비슷한, 학생의 말 52 00:02:40,310 --> 00:02:45,410 집, 지금은 지정거야 그 i 번째 학생의 집 필드 53 00:02:45,410 --> 00:02:49,480 의 반환 값을 얻을 것이다 하는 GetString에 대한 다른 호출 (). 54 00:02:49,480 --> 00:02:52,350 >> 이제이 세 가지와 함께 뭔가를 할 수 있도록 학생들의 이름과 집, 55 00:02:52,350 --> 00:02:56,230 인쇄 같은 간단한 뭔가 문장의 각 중. 56 00:02:56,230 --> 00:03:07,580 INT에 내가 0, 다시 나는보다 작은 얻을 학생들은 I + +, printf의 "% s 님이 % s에 있습니다. 57 00:03:07,580 --> 00:03:12,600 백 슬래시 N ", 그리고 지금 나 플러그하자 이 두 필드의 값, 58 00:03:12,600 --> 00:03:19,055 학생들은 전. 이름, 쉼표 브라켓 학생들은 내가 브라켓. 집, 가까운 59 00:03:19,055 --> 00:03:21,290 괄호, 세미콜론. 60 00:03:21,290 --> 00:03:23,020 >> 그리고 지금은 한 가지 더 할 필요가있다. 61 00:03:23,020 --> 00:03:26,600 이 파일의 맨 아래에 나는 필요 할당 된 메모리를 해제 62 00:03:26,600 --> 00:03:30,290 GetSring ()에 의해 내부적으로 어떤 물론하기 위해,의 malloc를 호출 63 00:03:30,290 --> 00:03:32,500 문자열에 대한 메모리를 할당 사용자 유형. 64 00:03:32,500 --> 00:03:35,720 그러나 이에는 간단합니다. 65 00:03:35,720 --> 00:03:42,610 내가 0을 얻을 INT, 나는보다 작 학생, 난 + +, 몸의 내부 66 00:03:42,610 --> 00:03:48,670 이 루프, 나는 단순히거야 무료 학생들 브래킷 전. 이름을 제공, 67 00:03:48,670 --> 00:03:52,300 무료 학생들은 내가 브라켓. 집. 68 00:03:52,300 --> 00:03:55,620 >> 이제, 우리는 분명히 루프 세 가지를 사용했습니다 이 프로그램에, 때 정말 69 00:03:55,620 --> 00:03:58,800 하나를 사용하지만,이는 수도 그냥 데모의 이익을 위해, 그 때문에 70 00:03:58,800 --> 00:04:02,850 우리는 세 가지로 지정할 수 있습니다 우리가하고있는 단계를 정확히. 71 00:04:02,850 --> 00:04:06,120 우리는 첫 번째 이름과 집에 있어요 학생들의 각각에 대해, 우리는 그 다음입니다 72 00:04:06,120 --> 00:04:08,900 의 이름과 집 밖으로 인쇄 세 학생의 각각과 73 00:04:08,900 --> 00:04:11,910 우리는 메모리를 해제거야 학생들의 각각에 의해 사용됩니다. 74 00:04:11,910 --> 00:04:15,310 그러나 확실하게 우리는이를 결합했습니다 수 루프에 대한 하나의 큰에. 75 00:04:15,310 --> 00:04:18,650 >> 컴파일의 지금 저장할 수 있습니다, 이 프로그램을 실행합니다. 76 00:04:18,650 --> 00:04:26,850 확인 구조체 0. / 구조체 0, 학생의 이름을의 데이비드을 제공하게, 살아있어 77 00:04:26,850 --> 00:04:31,580 메이 하우스, 학생의 이름,의에게하자 로렌 말, 그녀는 Leverett에 살고 있습니다 78 00:04:31,580 --> 00:04:36,590 하우스, 학생의 이름, 롭, 그는거야 커크 랜드 하우스에 살고있다. 79 00:04:36,590 --> 00:04:39,440 그리고 실제로 다윗은, 메이에 로렌, Leverett에 80 00:04:39,440 --> 00:04:40,810 롭은 커크 랜드에 있습니다. 81 00:04:40,810 --> 00:04:43,425