[음악 재생] 스피커 : 좋아. 그럼 다른 얘기하자 C에 가지 고유의 것, 이는 데이터 형식 및 변수이다. 때 내가 말할 독특한 C에, 정말 단지의 맥락에서 의미, 당신은 프로그래머가 있었던 경우 정말로 긴 시간 동안, 당신은 아마했습니다 데이터 유형과 일 당신은 현대 사용한 경우 프로그래밍 언어. 같은 현대 언어 PHP와 자바 스크립트, 우리는 또한 조금 볼 수있는 이후에 코스, 당신은 실제로 지정할 필요가 없습니다 변수의 데이터 타입 당신이 그것을 사용하는 경우. 당신은 그것을 선언하고 그것을 사용하기 시작. 그것은 정수라면, 그것을 이 정수 알고. 이 문자 인 경우에, 그것의 이 캐릭터의 알고있다. 그 단어가 있다면, 그것은 알고 그것은 소위 문자열입니다. 그러나 C에있는이 이전의 언어, 우리는 필요 데이터를 지정합니다 모든 변수의 유형 우리는 먼저 시간을 만드는 것이 우리는 그 변수를 사용하는 것이. 그래서 C는 몇 가지와 함께 제공 내장 데이터 타입. 그리고의는 잘 알고하자 그 중 일부. 그리고 이후 우리는 얘기하자 데이터 유형 중 일부에 대해 조금 우리가 당신을 위해 작성한 것으로, 그래서 당신은 CS50에 사용할 수 있습니다. 첫 번째는 INT이다. int 데이터 유형에 사용되는 변수 그 정수 값을 저장합니다. 따라서 1, 2, 3, 네가티브 1, 2, 3 등. 뭔가 당신입니다 정수, 퀴즈 알아 두셔야합니다, 항상 4 바이트를 차지 메모리, 이는 32 비트입니다. 바이트의 8 비트가있다. 그래서이의 범위 것을 의미한다 정수에 저장할 수있는 값 내 들어갈 수있는 무엇에 의해 제한된다 정보의 가치가 32 비트. 지금은 밝혀, 그것은 오래 전에 결정되었다 우리는 분할 것 32 비트의 범위 음의 정수로 과 양의 정수, 범위의 각지고 반. 우리는 대표 값의 범위 그래서 음의 2의 정수 범위 2 월 31 일 전원에 31 전원 마이너스 1, 당신은 또한 0 자리를 필요로 발생합니다. 가능한 값 그래서 기본적으로 반 당신은, 음 INT에 들어갈 수 반은 긍정적이다. 그리고 대략 여기,이 부정에 관한 것입니다 20 억 긍정적 인 2,000,000,000 약. 부여 또는 몇 억을. 그래서 당신이 적합 할 수있는 작업 정수 변수. 이제 우리는 뭔가를 부호없는 정수라고합니다. 지금 부호없는 정수가되지 있습니다 변수 분리형. 오히려, 부호이다 무슨 규정라고. 이는 데이터를 수정 약간 정수의 유형입니다. 이 경우, 어떤 부호 means-- 당신은 또한 수 부호없는 다른 데이터 유형을 사용하여, 정수는 단 하나 아니에요. 무엇을 효과적으로 수행하는 두 배입니다 값의 범위의 양 정수에 걸릴 수 있음 더 이상 허용 희생 당신은 음의 값을 촬영합니다. 당신은 당신이 알고있는 번호를 가지고 있다면 이상 20 억 미만을 얻을 것이다 40 억 이상, example--에 대한 이는 32에 2 power-- 당신이 사용 할 수 있습니다 당신이 경우 서명되지 않은 INT 당신의 값이 음수 없을 것 알고있다. 당신은 가끔해야 서명되지 않은 변수에 사용 내가 여기에 그것을 언급하는 이유 CS50에, 어떤이다. 그러나 값 다시, 범위 당신 부호없는 정수로 나타낼 수있다 일정한 정수를 t로서, 0은 32 전원 마이너스 1 ~ 2, 또는 약 0-4000000000. 그래서 당신은 효과적으로 두 배로 한 당신이 들어갈 수있는 긍정적 인 범위, 하지만 당신은 모든 포기했습니다 음의 값. 이제 옆으로, 부호 등 유일한 규정은 아니다 우리는을 위해 볼 수 있음 변수 데이터 유형. 라는 일이있다 짧고 긴 CONST. 헌장 우리는 조금 볼 수 있습니다 잠시 후 과정에서. 짧고 긴, 우리는 아마하지 않습니다. 그러나 단지이 알고 다른 규정이 있습니다. 부호는 하나만이 아니다. 그러나 그것은 우리가있어 하나의 지금에 대해 이야기 할 것입니다. 그래서 모든 권리. 그래서 우리는 정수를 다루었 다. 무엇 향후 계획? 문자. 그래서 문자 변수에 사용됩니다 즉, 하나의 문자를 저장합니다. 문자는 문자 짧다. 그리고 때때로 당신은들을 수 사람들은 자동차로 발음. 문자는 항상 하나를 차지 그래서 단지 8 비트의 바이트 메모리. 그래서 이것은 그들 만 들어갈 수 있음을 의미합니다 음극 (2)의 범위의 값 일곱 번째 전력, 또는 음 (128)에, 2 7 전원 1 또는 127 마이너스에. ASCII 덕분에, 그것은이었다 오래 전에 방법을 결정 에서 그 양수를 매핑 다양한 캐릭터에 0-127 모두가 우리의 키보드에 존재하는. 우리는 나중에에 볼 수 있도록 물론, 당신은 아마거야 몇 가지 기억 와서 점, 자본, example--에 대한 문자 자본 할까 .. 숫자 65에 매핑됩니다. 그 이유는 그 때문에 그것의 무엇 ASCII 표준에 의해 할당되었습니다. 소문자는 97입니다. 당신을위한 문자 0 실제로, 문자를 입력하지 숫자 제로를 나타내는, 48이다. 당신은 몇 가지를 배울 수 있습니다 이 당신이 가서. 그리고 당신은 확실히 필요가 올 것이다 그들을 조금 나중에 CS50에. 다음 주요 데이터 유형 부동 소수점 숫자입니다. 따라서 부동 소수점 수는 또한 실수로도 알려져 있습니다. 그들은 기본적으로 수있어 그 그들에 소수점이 있습니다. 부동 소수점 값 정수처럼도 있습니다 메모리의 4 바이트에 포함. 지금 여기에는 차트가 없습니다. 어떤 수를 줄이 있기 때문에, 없다 플로트의 범위를 기술 정확히 명백한 또는 직관적 없습니다. 당신 말을 충분 작동하는 32 비트를 가지고있다. 그리고 당신은 수있는 경우 이 같은 파이, 정수 부분 3, 부동 포인트 부분, 또는 소수 부분 0.14159, 등등, 당신은 할 필요가 그건 ... 모두 표현할 수 정수 부분과 소수 부분. 그래서 당신은 그 의미 있다고 생각합니까? 한 가지입니다 소수 경우 일부는 더 길고 더 길어집니다 나는 매우 큰이있는 경우 정수 부분, 그럴 수도 로 정확하게 할 수 소수점 부분. 그리고 정말이야 부동의 제한. 수레는 정밀도 문제가 있습니다. 우리는 32 비트를 작업, 그래서 우리는 할 수 있습니다 우리의 소수 부분에 너무 정확. 우리는 반드시 소수를 가질 수 없습니다 100 또는 200 자리 정확한 부분, 우리는 가지고 있기 때문에 32 비트와 함께 작동합니다. 그래서 부동의 한계입니다. 이제 다행히있다 라고하는 다른 데이터 타입 두 번하는 다소 이 문제를 다룹니다. 복식, 수레처럼, 또한 사용된다 실수 또는 부동 포인트를 저장 값. 차이가 있다는 복식은 배정 밀도입니다. 그들은 64 비트를 넣을 수 데이터, 또는 8 바이트. 그게 무슨 뜻 이죠? 글쎄, 우리가 할 수 있다는 것을 의미합니다 더 많은 소수점와 정확한. 대신 일곱에 파이를 갖는 플로트와 아마 장소, 우리는 어쩌면 30 곳으로 그것을 할 수 있습니다. 그 중요한 경우에, 당신은 할 수 있습니다 대신 부동의 두 배를 사용합니다. 기본적으로, 당신이 있다면 어떤 위치에 작업 정말로 긴 소수점 자리를 갖는 정밀 많이 중요 당신은 아마 원하는 이중 overfloat를 사용합니다. 지금의 대부분의 작업에 대한 CS50, 플로트 충분합니다. 그러나 복식이 같이 존재 알고 다소 정밀도를 다루는 방법 당신에게 32 여분을 제공함으로써 문제 비트는 숫자와 함께 작동합니다. 이제이 데이터 유형이 아닙니다. 이 유형입니다. 그리고 그것은 무효라고. 그리고 나는 그것에 대해 이야기하고 여기에 우리가 아마했기 때문에 이미 몇 번 CS50에서 그것을 본. 그리고 당신은 궁금 할 것이다 무엇 모두에 대해입니다. 따라서 보이드 타입이다. 그것은 존재한다. 그러나 데이터 타입이다. 우리는 유형의 변수를 만들 수 없습니다 무효로하고 여기에 값을 할당합니다. 그러나 기능, 예를 들면, void 반환 타입을 가질 수 있습니다. 기본적으로, 당신은 함수를 참조하는 경우 즉, void 반환 타입을 가진, 그것은 그 값을 반환하지 않는 것을 의미한다. 당신은 일반적인 생각할 수 우리가 지금까지 사용했던 기능 CS50에 값을 반환하지 않습니다? printf의 하나입니다. PRINTF 실제로하지 않습니다 당신에게 아무것도 반환. 그것은 뭔가를 인쇄 스크린과 기본적있어 printf의가하는 일의 부작용. 그러나 그것은 당신에게 값을 다시 제공하지 않습니다. 당신은 결과 저장을 캡처하지 않습니다 일부 변수에 나중에 그것을 사용할 수 있습니다. 그냥 뭔가를 인쇄 화면하면됩니다. 그래서 우리는 printf의 것을 말 공극 함수이다. 그것은 아무 것도 반환하지 않습니다. 의 경계 목록 기능은 무효가 될 수 있습니다. 그리고 당신은 또한 것을 본 적이 너무 CS50에서 꽤. 지능 주요 무효. 벨이 있습니까? 기본적으로 무엇을 뜻하는 것입니다 주요 매개 변수를 사용하지 않습니다. 인수가 없습니다 그 메인에 전달받을. 이제 나중에 우리가 있다는 것을 볼 수 있습니다 방법은, 주에 인수를 전달하는 그러나 지금까지 우리가했습니다 무엇 INT 주요 무효 볼 수 있습니다. 주요 단지 인수를하지 않습니다. 그래서 우리는 무효 말함으로써 그를 지정합니다. 우리는 매우 당하고 사실에 대한 명시 적 그것은 어떤 인수를 사용하지 않습니다. 지금은 그래서, 그것을 충분 기본적으로 그 공백을 말한다 그냥 자리 역할을한다 당신을 위해 아무것도 약 생각으로. 정말 아무것도 아니에요. 여기에는 반환 값이 없습니다. 여기에는 매개 변수가 없습니다. 그것은 무효입니다. 그것은 그것보다 조금 더 복잡하다. 하지만이 충분해야한다 물론 좋은 부분. 그리고 잘하면 지금 당신은 조금있다 무효가 무엇인지의 개념을 더 비트. 그 그래서 다섯 가지 유형은거야 있습니다 내장되어 C로 만남 그러나 CS50에 우리는 또한 도서관이있다. 당신이 포함 할 수 CS50.h. 그리고 당신을 제공 할 것이다 두 개의 추가 유형 당신은 아마 할 수있을거야 당신의 할당에 사용하는, 아니면 그냥 일반적으로 작동하는 프로그램. 이들 중 첫 번째는 BOOL이다. 그래서 부울 데이터 유형, 불리언 변수에 사용 즉, 부울 값을 저장합니다. 당신은 들어 본 적이 있다면 이 용어 전에, 당신을 부울 것을 알 수 있습니다 값은 가능한 두 개의 서로 다른 고유 한 값을 들고. 참과 거짓. 지금이 꽤 보인다 기본, 오른쪽? 그것은이 그 놀라운 종류의 이 내장 된 것으로 C에 존재하지 않습니다. 그리고 많은 현대 언어로, 물론, 부울 표준 기본 데이터 유형입니다. 그러나 C에서, 그들은 실제로 아니에요. 그러나 우리는 당신을 위해 만들었습니다. 당신이 이제까지 만들 필요가 있다면 유형이 BOOL 인 변수, 다만 CS50.h을 #include를해야합니다 프로그램의 시작 부분에서, 당신은 만들 수 있습니다 부울 형의 변수. 당신은 CS50.h을 #include를하는 것을 잊지하고, 경우 당신은, 부울 형 변수를 사용하여 시작 당신은 몇 가지 문제가 발생할 수 있습니다 때 당신은 당신의 프로그램을 컴파일하고 있습니다. 그래서 단지에 대한 경계합니다. 그리고 어쩌면 당신은 단지를 해결할 수 있습니다 CS50.h. 포함 파운드에 의한 문제 다른 주요 데이터 유형이 우리 CS50 라이브러리에 당신을 위해 제공 문자열입니다. 그래서 문자열은 무엇입니까? 문자열은 정말 그냥 단어입니다. 그들은 문자의 집합입니다. 그들은 단어입니다. 그들은 문장입니다. 그들은 단락입니다. 심지어 전체 책 수 있습니다. 매우 긴에 매우 짧은 문자의 시리즈. 당신이 문자열을 사용해야하는 경우, 예를 들어, 단어를 저장하기위한, 다만 CS50.h을 포함해야합니다 프로그램의 시작 부분에 그래서 당신은 문자열 유형을 사용할 수 있습니다. 그리고 당신은 변수를 만들 수 있습니다 그 데이터 형식은 문자열입니다. 지금 나중에 과정에서 우리는 또한이 있다고 볼 수 있습니다 하나가 아닌 전체 이야기. 우리는 일을 접하게 라는 구조, 어떻게 될 것인가 그룹에 당신을 허용하는 정수와 하나의 유닛에 캐릭터. 그리고 우리를 위해 그것을 사용할 수 있습니다 어떤 목적으로, 수도 과정에서 나중에 편리. 그리고 우리는 또한 배울 수 있습니다 정의 유형에 대한, 이는 당신이 만들 수 있습니다 자신의 데이터 유형. 우리는 걱정할 필요가 없습니다 지금은 그것에 대해. 그러나 단지 그건 알고 수평선에 무엇인가, 이 전체에 더 많은이 있다는 것을 난 그냥 당신을 말하고보다 형 일 지금. 그래서 지금 우리가 배운 것을 기본 데이터에 대한 조금 종류 및 CS50 데이터 형식,하자 변수를 사용하는 방법에 대해 이야기 및 이들을 사용하는 것 우리의 프로그램에서 데이터 유형. 당신이 변수를 만들려면, 당신이 오직 할 필요가있는 두 가지입니다. 첫째, 당신은 그것을 유형을 제공 할 필요가있다. 당신이 필요로하는 두 번째 것은 어떻게 그 이름을 지정합니다. 당신은 그 일을하고 때렸다 일단 그 줄의 끝에 세미콜론, 당신은 변수를 만들었습니다. 그래서 여기에 두 가지 예를합니다. INT 번호; 문자 편지 ;. 내가 무슨 짓을 한거야? 나는 두 개의 변수를 만들었습니다. 가변의, 제 이름은 숫자입니다. 그리고 수는 정수를 보유 할 수있다 그 유형은 INT이기 때문에, 값을 입력합니다. 편지는 또 다른 변수입니다 그 문자를 저장할 수 데이터 타입이 CHAR 때문이다. 매우 간단, 맞죠? 당신은 자신을 발견하는 경우 여기서 상황에서 여러 작성해야 동일한 유형의 변수 당신은 단지 지정해야 한 번 유형의 이름입니다. 그럼 그냥 많은 변수를 나열 해당 유형의 당신이 필요로하는. 그래서 예를 들어, 여기에 수 코드의 세 번째 줄에, INT 높이 ;, 새로운 라인을 말한다. 지능 폭 ;. 그리고 너무 작동합니다. 나는 아직도 두 변수가 호출되는 것 높이와 폭, 각각의 정수이다. 하지만,로 C 문법에 물건을 허용하고있어 하나의 라인으로 통합. 지능의 높이, 폭; 이 같은 일이다. 나는라는 두 변수 하나를 만들었습니다 폭이라고 높이 하나, 둘 보유 할 수있다 정수 값을 입력합니다. 마찬가지로 여기에, 나는 세 가지를 만들 수 있습니다 한 번에 부동 소수점 값. 나는 아마 변수를 만들 수 있습니다 2--의 제곱근이라고 이는 아마도 결국 것이다 부동 point-- 개최 광장의 표현 2-- 광장 3의 루트, 그리고 PI의 루트. 나는 이것을 할 수 있었다 별도의 세 가지 라인. 플로트, 제곱근 2; 제곱근을 플로트 3; 파이를 떠; 그 역시 작동합니다. 그러나 다시, 난 그냥 통합 할 수 있습니다 단 한 줄의 코드로이. 일을 조금 만든다 짧은, 같은 투박한하지. 지금 일반적으로, 그것은 단지 좋은 디자인이다 당신이 그것을 필요로 할 때 변수를 선언합니다. 그리고 우리는 조금 얘기하자 그것에 대해 좀 더 나중에하는 과정에서 때 우리가 범위를 논의한다. 그래서 반드시 할 필요가 없습니다 하여 모든 변수를 만들 프로그램의 시작 부분에있는 어떤 사람들은, 과거를 할 수도 또는 확실히 매우 일반적이었다 코딩 연습 몇 년 전 C. 작업을 할 때 당신은 수도 때 변수 권리를 만들려면 당신은 그것을 필요합니다. 괜찮아. 그래서 우리는 변수를 만들었습니다. 우리는 어떻게 그들을 사용합니까? 우리가 선언 한 후 변수, 우리는 필요하지 않습니다 데이터 유형을 지정 그 변수의 이상. 이렇게하면 사실, 당신은 수도 좀 이상한 결과와 끝까지 우리는 종류의 지금 얼버무 거 야. 그러나 말을 충분, 이상한 일가는거야 실수로 일어나는 경우 시작 같은 이름을 가진 변수를-선언 다시 반복해서. 그래서 여기에 나는 코드의 네 줄이있다. 그리고 나는 몇이 바로 표시가 의견 무슨 일이 일어나고 각 라인은 도움 당신은 무슨 일이 일어나고 있는지에 위치하고 얻을. 그래서 INT 수 ;. 당신은 그 이전에 보았다. 즉, 변수 선언입니다. 지금은 변수를 만들었습니다 의 착신 번호 정수 타입의 값을 유지할 수. 나는 그것을 선언했습니다. 나는 할당있어 다음 행 수에 대한 값입니다. 번호는 (17)과 같다. 이 무슨 일 이죠? 나는 숫자 17을 걸었습니다 그 변수의 내부. 내가 다음 인쇄하면 그래서 번호의 내용은 이후에 있으며, 그들은 17의 저를 말씀 드리죠. 그래서 변수를 선언했습니다, 다음 나는 그것을 할당했습니다. 우리는 과정을 반복 할 수 있습니다 다시 문자 문자로 ;. 그 선언입니다. 편지는 자본과 동일 H.는 그 임무입니다. 매우 간단, 너무. 이제이 과정은 수​​도 종류의 바보 같다. 우리는 왜이 일을하고 있습니다 두 줄의 코드에서? 그것을 할 수있는 더 좋은 방법이 있나요? 사실,이 있습니다. 때때로 당신은 볼 수 있습니다 이 초기화를했다. 당신은 변수를 선언 할 때이다 동시에 값을 할당한다. 이것은 실제로 꽤입니다 일반적인 일이해야 할 일. 당신은 변수를 사용하면 일반적으로 만들 때 그것은 몇 가지 기본 가치를 갖고 싶어. 심지어는 0 또는 뭔가 경우. 당신은 당신이 그것을 값을 제공합니다. 당신은 변수를 초기화 할 수 있습니다. 도 17과 동일 번호는 INT와 동일 상기 최대 부호의 처음 두 줄. 숯 문자 h는 동일하다 같음 위의 코드의 세 번째와 네 번째 라인. 여기에서 가장 중요한 테이크 아웃 우리는 선언과 할당 할 때 우리가 한 후에 변수입니다 를 선언 예고 I는 다시 데이터 형식을 사용하고 있지 않다. 나는 INT 번호에 17을 동일 말하는 게 아니에요 예를 들어, 코드의 두 번째 줄. 난 그냥 숫자 17에 해당 말하는거야. 또, 가변 후를 다시-선언 당신은 이미 이어질 수 있습니다 선언했습니다 좀 이상한 결과이다. 그래서 그냥 조심. 나는 더그 로이드입니다. 그리고 이것은 CS50입니다.