float c 데이터 유형을 사용하는 방법. 데이터 유형. 특정 유형의 변수가 차지하는 메모리 크기를 확인하는 방법

블로그를 만드는 것은 길고 매우 힘든 과정입니다. 호스팅 서버는 매우 안정적이지만 불가항력도 배제할 수 없습니다. 예를 들어 심각한 기술적 오류, 화재 또는 홍수가 있습니다. 호스팅 업체는 매일 백업을 수행하지만 불가항력이 발생하는 경우 서버의 모든 정보가 완전히 사라질 가능성이 (매우 미미함) 있기 때문에 아무것도 할 수 없습니다. 그러나 그럼에도 불구하고 자원과 모든 결과를 순식간에 잃는 것이 얼마나 불쾌한지 상상해 보십시오. 장편예상치 못한 상황으로 인해. 주요 문제는 일반적으로 블로그에 액세스하려고 할 때 이러한 메시지가 나타난 후에 나타납니다.

이런 황당한 상황에 연루되지 않기 위해서는 주기적으로 백업을 해두는 것이 필요합니다. 전체 백업리소스를 보관하고 컴퓨터에 저장하세요. 따라서 문제가 발생하면 ( 실수로 삭제일부 데이터 손실, 실패 및 SMS 오류, 기술적 문제웹 호스팅 또는 해커 해킹), 웹 리소스 데이터를 체계적으로 백업하면 손상된 사이트의 운영을 몇 분 내에 빠르고 쉽게 복원하는 데 도움이 됩니다.

일반 HTML과 CSS를 기반으로 블로그를 만든 경우 모든 데이터를 플래시 드라이브나 다른 드라이브에 복사하기만 하면 됩니다. 안전한 곳. 그러나 블로그가 WordPress SMS를 기반으로 구축된 경우 작업이 조금 더 복잡해집니다. 왜냐하면... 우리는해야 할 것입니다 추가 업무– 확장자가 *.sql인 덤프 파일을 만들고 FTP 연결을 통한 전송 시간을 절약하려면 사이트의 내용을 zip 아카이브로 압축해야 합니다. 대부분의 호스팅 업체는 매일 백업 절차를 수행합니다. 하지만 실패는 어디에서나 발생하므로 서버도 예외는 아닙니다.

당신이 가지고 있다면 진지한 프로젝트, 정기적으로 사이트 백업을 생성하여 가정용 PC에 저장하는 것이 더 좋고 안정적입니다.

사이트의 백업 zip 아카이브를 만드는 첫 번째 방법

제어판은 웹 호스팅 제공업체에 따라 다르게 보일 수 있지만 여기서 가장 중요한 것은 원리 자체를 이해하고 유추하여 행동하는 것입니다. 표준 웹 호스팅 컨트롤 cPanel에는 일반적으로 "백업" 또는 " 지원" 이 방법을 고려해 봅시다. 스크린샷은 실제 호스팅의 cPanel을 보여줍니다.

이 패널에서 우리는 "백업"탭에 관심이 있습니다. 클릭하면 문자 그대로 몇 분 안에 전체 사본콘텐츠 "public_html". 서버에서 웹사이트의 zip 아카이브는 일반적으로 기본 디렉토리나 “public_html” 디렉토리에 위치하지만 다른 옵션이 있을 수도 있습니다. 이 특별한 경우, "백업" 버튼을 클릭하면 아카이브를 PC에 다운로드할 수 있는 탭이 있는 새 창이 나타납니다.

일부 호스팅 사이트에는 클릭하면 얻을 수 있는 버튼이 있다는 점에 유의해야 합니다. MySQL 백업호스팅된 리소스.

웹 리소스를 예약하는 두 번째 방법

이 방법에도 복잡한 것은 없습니다. 제어판에는 일반적으로 "라는 버튼이 있습니다. 파일 관리자" 클릭하면 다음 탭으로 이동합니다.

서버의 "public_html" 폴더에는 보관해야 하는 모든 사이트 정보가 포함되어 있습니다. 대부분의 호스팅 업체는 이 옵션을 제공합니다. 이 작업은 매우 간단하게 수행됩니다. 오른쪽 키드롭다운 메뉴에서 폴더별로 '보관' 또는 '압축'을 선택하세요.

이 작업의 결과로 웹사이트의 zip 아카이브(백업)가 메인 디렉토리에 생성되며, FTP를 통해 컴퓨터에 쉽게 다운로드하여 저장할 수 있습니다.

오래되고 검증된 Total Commander를 사용할 수 있고 Filezilla를 사용할 수 있지만 원칙은 동일하게 유지됩니다. FTP 연결을 통해 계정에 연결하고 리소스 아카이브를 찾은 다음 다운로드합니다. 특정 장소컴퓨터에서. 예를 들어, 서버와의 연결이 이미 설정되어 있고 zip 아카이브는 기본 디렉터리에 있으며 다운로드하려면 PC에서 디렉터리를 식별하고 아카이브를 선택한 다음 "복사" 버튼을 클릭하기만 하면 됩니다.

MySQL을 덤프 파일로 내보내기

그게 전부인 것 같습니다. 아카이브가 복사되었으며 프로젝트가 정적이고 생성된 경우 모든 것이 거기서 끝났을 것입니다. HTML 기반그리고 CSS. SMS WordPress는 동적 엔진입니다. 즉, 페이지는 요청 시에만 생성됩니다. 특정 주소. 동적 엔진에는 콘텐츠(사이트 디렉터리에 위치)뿐만 아니라 데이터베이스도 필요합니다. MySQL 데이터. 따라서 복사본을 만들어야 합니다. 그렇지 않으면 긴급 상황이 발생하는 경우 웹 사이트를 복원할 수 없습니다. 이 문제에 주의 깊게 접근하면 복사본을 만드는 것, 즉 MySQL을 WordPress 엔진용 덤프 파일로 내보내는 작업을 매우 쉽고 간단하게 수행할 수 있습니다.

이미 언급한 스크린샷 2에는 "phpMyAdmin" 버튼이 있습니다. 제어판은 호스팅 사이트마다 다르게 보이지만 "phpMyAdmin"으로 이동하는 링크를 찾으면 분명히 있을 것입니다. "phpMyAdmin"에서 데이터베이스 이름을 찾아서 연 다음 "내보내기" 옵션을 선택하고 "확인" 버튼을 클릭하세요.

덤프 파일을 다운로드하기 위한 선택 창이 나타납니다. 동의하고 컴퓨터의 적절한 디렉토리에 다운로드합니다. 이제 덤프 파일이 성공적으로 다운로드되어 컴퓨터에 저장되었습니다. 그리고 리소스가 증가하고 발전하면 이 프로세스를 주기적으로 반복해야 합니다. 리소스를 복원하거나 SMS를 롤백해야 하는 경우 백업 복사본이 필요할 수 있으므로 업데이트하는 것을 잊지 마세요. 이전 버전.

복사본에서 WordPress 블로그를 복원하는 방법

그래서 우리는 블로그 배포본과 덤프 파일의 백업 복사본을 가지고 있습니다. 이전 SMS를 복원하거나 롤백하는 방법은 무엇입니까? 논리적으로는 이 과정을 거꾸로 진행해야 한다는 것이 밝혀졌습니다. 그러나 때로는 데이터베이스나 디렉터리 중 하나만 복원하는 것만으로도 충분할 때도 있습니다. 다음 옵션이 가능합니다:

  • 실수로 디렉터리나 SMS 코드를 위반한 경우 일반적으로 "public_html" 폴더의 내용만 복원됩니다.
  • 설정, 페이지 및 게시물에 이해할 수 없는 일이 발생하면 데이터베이스만 복원됩니다.
  • 사이트 운영이 완전히 마비되면 대개 데이터베이스부터 시작하고, 그래도 안 되면 블로그 파일을 복원한다.

MySQL 데이터베이스 복구

많은 최신 호스팅 사이트에는 cPanel에 "복원" 탭이 있습니다. 이 탭을 클릭하면 phphMyAdmin에서 테이블을 즉시 복원할 수 있습니다. 그러나 기술적인 문제로 인해 호스팅이 중단된 경우 MySQL 데이터베이스블로그를 만든 다음 복원하세요. 오래된 직업다음과 같이 수행할 수 있습니다.

제어판을 통해 phphMyAdmin에 로그인하고 이전 이름으로 데이터베이스를 찾거나 다시 만든 다음(테이블이 없음) "가져오기" 버튼을 클릭하세요.

컴퓨터에서 저장된 덤프 파일(*.sql 확장자를 가짐)을 찾아 선택합니다. 어떤 설정도 건드리지 말고 "확인"을 클릭하기만 하면 잠시 후 phphMyAdmin에 테이블이 생성됩니다. 또 하나 있다 대체 방법. 데이터베이스 덤프(*.sql 확장자)의 내용을 열어 복사합니다. 텍스트 에디터를 클릭하고 "SQL" 탭에 붙여넣은 후 "확인"을 클릭하세요.

아카이브에서 프로젝트 파일을 복원하는 방법

제어판에서 허용하는 경우 빠른 복구호스트의 백업을 통해 현재 버전을 복원합니다. 그렇지 않은 경우 FTP 연결을 통해 호스트에 연락하여 삭제하세요. 오래된 폴더편의상 "public_html"을 사용하세요. 압축을 풀면 아카이브가 프로젝트 내용이 위치하는 "public_html" 디렉터리로 변합니다.

얼마나 간단한지 보세요! ~에 개인용 컴퓨터웹사이트의 전체 백업이 저장되므로 복원 기능이 있으면 안정적이고 안전한 작업당신의 프로젝트의.

WordPress를 롤백하고 이전 버전을 반환하는 방법

그래서 WordPress를 롤백하고 반환하는 방법에 대한 작업이 발생했습니다. 이전 SMS, 웹 호스팅 관리 패널에 해당 작업이 없는 경우. 목표를 달성하고 기존 SMS를 반환하려면 일부 파일을 수동으로 교체해야 합니다. 롤백 프로세스 구 버전세 가지 연속 단계로 나타낼 수 있습니다.

이미 사이트 백업을 생성했으므로 첫 번째 항목을 건너뜁니다. 다운로드 적합한 버전공식 웹사이트 페이지 - ru.wordpress.org/releases/. 다운로드한 아카이브의 압축을 푼 다음 별도의 폴더 PC에서 "wp-content"와 "wp-config-sample.php" 파일을 삭제합니다.

이는 리소스 데이터가 변경되지 않도록 하기 위해 필요합니다. 결국 "wp-content" 폴더에는 테마, 사용된 플러그인 및 블로그 다운로드가 포함되어 있으며 "wp-config-sample.php"는 이미 존재하고 가장 중요하게 구성되어 있기 때문에 단순히 불필요한 것으로 판명되었습니다.

호스팅에서 파일과 디렉터리를 바꾸는 방법으로 넘어가겠습니다. 토탈 커맨더(Total Commander)를 사용하면 가능합니다. 교체 작업을 수동으로 확인할 필요가 없도록 간단한 설정만 하면 됩니다.

최종 단계: 데이터베이스 업데이트

전송 프로세스를 완료하고 모든 파일을 교체한 후에는 호스팅 관리 패널에 다시 로그인하고 페이지를 새로 고쳐야 합니다. 이렇게 하려면 나타나는 창에서 ""를 클릭하십시오.

어느 정도 시간이 지나면 팝업창이 뜹니다. 여기에서 "계속"탭을 클릭하십시오. 업데이트 프로세스가 성공적으로 완료되었음을 확인하는 메시지가 나타납니다. 현재 버전 SMS 엔진.

이제 당신은 다음을 알고 있습니다:

  • 웹사이트의 백업을 만드는 방법;
  • MySQL 데이터 덤프를 저장하는 방법;
  • 프로젝트를 복원하는 방법;
  • WordPress의 이전 버전을 반환하는 방법.

위의 내용을 모두 알면 실패, 사고, 해커 공격그리고 다른 것들. 필요한 경우 언제든지 블로그를 복원, 롤백 및 다시 활성화할 수 있습니다.

마지막 업데이트: 2017년 9월 17일

각 변수에는 특정 유형. 그리고 이 유형은 변수가 가질 수 있는 값, 변수에 대해 수행할 수 있는 작업, 메모리에서 얼마나 많은 바이트를 차지할지를 결정합니다. C++ 언어는 다음을 정의합니다. 기본 유형데이터:

    부울 : 부울 유형. 둘 중 하나를 택할 수 있다 가치는 사실이다(참)과 거짓(거짓). 이 유형의 메모리 공간은 정확하게 정의되어 있지 않습니다.

    char : 한 문자를 나타냅니다. ASCII 인코딩. 메모리에서 1바이트(8비트)를 차지합니다. -128에서 127까지 또는 0에서 255까지의 값을 저장할 수 있습니다.

    signed char : 단일 문자를 나타냅니다. 메모리에서 1바이트(8비트)를 차지합니다. -128부터 127까지의 값을 저장할 수 있습니다.

    unsigned char : 단일 문자를 나타냅니다. 메모리에서 1바이트(8비트)를 차지합니다. 0부터 255까지의 값을 저장할 수 있습니다.

    wchar_t : 와이드 문자를 나타냅니다. Windows에서는 2바이트(16비트)의 메모리를 사용하고 Linux에서는 4바이트(32비트)의 메모리를 사용합니다. 0~65,535(2바이트의 경우) 또는 0~4,294,967,295(4바이트의 경우) 범위의 값을 저장할 수 있습니다.

    char16_t: 한 문자를 나타냅니다. 유니코드 인코딩. 메모리에서 2바이트(16비트)를 차지합니다. 0부터 65,535까지의 값을 저장할 수 있습니다.

    char32_t : 단일 유니코드 문자를 나타냅니다. 메모리에서 4바이트(32비트)를 차지합니다. 0부터 4,294,967,295까지의 값을 저장할 수 있습니다.

    short : –32768 ~ 32767 범위의 정수를 나타냅니다. 2바이트(16비트)의 메모리를 차지합니다.

    이 유형에는 short int, signed short int, signed short와 같은 동의어도 있습니다.

    unsigned short : 0~65535 범위의 정수를 나타낸다. 2바이트(16비트)의 메모리를 차지한다.

    이 유형에는 unsigned short int 동의어도 있습니다.

    int: 정수를 나타냅니다. 프로세서 아키텍처에 따라 2바이트(16비트) 또는 4바이트(32비트)를 차지할 수 있습니다. 그에 따라 한계 값의 범위는 -32768에서 32767(2바이트) 또는 -2,147,483,648에서 2,147,483,647(4바이트)까지 다양할 수 있습니다. 단, 어떠한 경우에도 사이즈는 숏타입의 사이즈보다 크거나 같고, 롱타입의 사이즈보다 작거나 같아야 합니다.

    이 유형에는 signed int 및 signed 동의어가 있습니다.

    unsigned int : 양의 정수를 나타냅니다. 프로세서 아키텍처에 따라 2바이트(16비트) 또는 4바이트(32비트)를 차지할 수 있으며 이로 인해 제한 값의 범위는 0부터 65535(2바이트의 경우)까지 다양할 수 있습니다. 0 ~ 4,294,967,295(4바이트의 경우).

    unsigned는 이 유형의 동의어로 사용될 수 있습니다.

    long : -2,147,483,648 ~ 2,147,483,647 범위의 정수를 나타냅니다. 4바이트(32비트)의 메모리를 차지합니다.

    이런 유형의동의어 long int , signed long int 및 signed long 도 있습니다.

    unsigned long: 0~4,294,967,295 범위의 정수를 나타냅니다. 4바이트(32비트)의 메모리를 차지합니다.

    unsigned long int 동의어가 있습니다.

    long long: -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 범위의 정수를 나타냅니다. 일반적으로 8바이트(64비트)의 메모리를 차지합니다.

    동의어는 long long int , signed long long int 및 signed long long 입니다.

    unsigned long long : 0~18,446,744,073,709,551,615 범위의 정수를 나타냅니다. 일반적으로 메모리는 8바이트(64비트)입니다.

    unsigned long long int 동의어가 있습니다.

    float : 나타냄 실수+/- 3.4E-38 ~ 3.4E+38 범위의 일반 정밀도 부동 소수점입니다. 메모리에서 4바이트(32비트)를 차지합니다.

    double : +/- 1.7E-308 ~ 1.7E+308 범위의 배정밀도 부동 소수점 실수를 나타냅니다. 메모리에서 8바이트(64비트)를 차지합니다.

    long double : 최소 8바이트(64비트)의 배정밀도 부동 소수점 실수를 나타냅니다. 점유된 메모리의 크기에 따라 유효한 값의 범위가 달라질 수 있습니다.

    void : 값이 없는 유형

따라서 void를 제외한 모든 데이터 유형은 문자(char, wchar_t, char16_t, char32_t), 정수(short, int, long, long long) 및 부동 소수점 숫자 유형(float, double, long double)의 세 그룹으로 나눌 수 있습니다.

문자 유형

애플리케이션에서 문자를 나타내는 데 사용되는 유형은 char, wchar_t, char16_t 및 char32_t입니다.

여러 변수를 정의해 보겠습니다.

문자 c="d"; wchar_t d="c";

char 유형의 변수는 하나의 문자를 값으로 사용합니다. 작은따옴표: char c = "d" . 목록에 위에 지정된 범위의 숫자( char c = 120 )를 할당할 수도 있습니다. 이 경우 변수 c의 값은 ASCII 문자 테이블에서 코드 120을 갖는 문자가 됩니다.

wchar_t 문자를 콘솔에 출력하려면 std::cout이 아닌 std::wcout 스트림을 사용해야 한다는 점을 고려해 볼 가치가 있습니다.

#포함하다 int main() ( char a = "H"; wchar_t b = "e"; std::wcout<< a << b << "\n"; return 0; }

이 경우 std::wcout 스트림은 char 및 wchar_t 모두에서 작동할 수 있습니다. 그리고 wchar_t 변수에 대한 std::cout 스트림은 문자 대신 숫자 코드를 출력합니다.

C++11 표준에는 유니코드 사용을 지향하는 char16_t 및 char32_t 유형이 추가되었습니다. 그러나 이러한 유형으로 작업하기 위한 스레드는 아직 OS 수준에서 구현되지 않았습니다. 따라서 이러한 유형의 변수 값을 콘솔에 표시해야 하는 경우 변수를 char 또는 wchar_t 유형으로 변환해야 합니다.

#포함하다 int main() ( char a = "H"; wchar_t b = "e"; char16_t c = "l"; char32_t d = "o"; std::cout<< a << (char)b << (char)c << (char)d << "\n"; return 0; }

이 경우 출력시 변수 앞에 char형 -(char)으로의 형변환 연산이 선행되는데, 이로 인해 변수 b, c, d의 값이 char형으로 변환되어 출력될 수 있다. std::cout 스트림을 사용하는 콘솔.

정수 유형

정수 유형은 short, unsigned short, int, unsigned int, long, unsigned long, long long 및 unsigned long long 유형으로 표시됩니다.

짧은 a = -10; 부호 없는 짧은 b= 10; int c = -30; 부호 없는 int d = 60; 긴 e = -170; 부호 없는 긴 f = 45; 긴 긴 g = 89;

부동 소수점 숫자의 유형

부동 소수점 및 분수 유형은 float, double 및 long double로 표시됩니다.

부동 a = -10.45; 더블 b = 0.00105; 긴 이중 c = 30.890045;

데이터 유형 크기

위 목록은 각 유형에 대해 메모리에서 차지하는 크기를 보여줍니다. 그러나 컴파일러 개발자는 컴퓨터의 하드웨어 기능에 따라 유형의 크기 제한을 독립적으로 선택할 수 있다는 점은 주목할 가치가 있습니다. 표준은 있어야 할 최소값만을 설정합니다. 예를 들어, int 및 short 유형의 경우 최소값은 long 유형의 경우 16비트이고, long double 유형의 경우 32비트입니다. 이 경우, long 타입의 크기는 int 타입의 크기 이상, int 타입의 크기는 short 타입의 크기 이상, long double 타입의 크기는 반드시 두 배보다 커야 합니다. 예를 들어, Windows용 g++ 컴파일러는 긴 double에 12바이트를 사용하고, Visual Studio에 내장되어 Windows에서도 실행되는 컴파일러는 long double에 8바이트를 사용합니다. 즉, 동일한 플랫폼 내에서도 컴파일러마다 특정 데이터 유형의 크기에 대한 접근 방식이 다를 수 있습니다. 그러나 일반적으로 데이터 유형을 기술할 때 위에 표시된 크기가 사용됩니다.

그러나 특정 유형의 크기를 정확히 알아야 하는 상황이 있습니다. 이를 위해 C++에는 변수가 차지하는 메모리 크기를 바이트 단위로 반환하는 sizeof() 연산자가 있습니다.

#포함하다 int main() (긴 이중 숫자 = 2; std::cout<< "sizeof(number) =" << sizeof(number); return 0; }

g++에서 컴파일할 때 콘솔 출력:

sizeof(숫자) = 12

동시에, 변수를 정의할 때 변수의 값이 해당 유형에 대해 설명된 제한을 초과해서는 안 된다는 점을 이해하는 것이 중요합니다. 예를 들어:

부호 없는 짧은 숫자 = -65535;

G++ 컴파일러는 이 라인으로 프로그램을 컴파일할 때 값 -65535가 부호 없는 짧은 유형의 유효한 값 범위 내에 있지 않다는 오류를 생성하고 잘립니다.

Visual Studio에서는 컴파일이 오류 없이 진행될 수 있지만 number 변수는 숫자 -65535를 부호 없는 짧은 형식으로 변환한 결과인 값 2를 받습니다. 즉, 결과는 예상했던 것과 정확히 일치하지 않습니다. 변수의 값은 특정 유형에 따라 해석되는 메모리의 비트 모음일 뿐입니다. 그리고 다른 유형의 경우 동일한 비트 세트가 다르게 해석될 수 있습니다. 따라서 변수에 값을 할당할 때 특정 유형의 값 범위를 고려하는 것이 중요합니다.

자동 지정자

때로는 표현 유형을 결정하는 것이 어려울 수 있습니다. 그리고 최신 표준에 따르면 컴파일러가 객체 자체의 유형을 추론하도록 할 수 있습니다. 그리고 이를 위해 자동 지정자가 사용됩니다. 또한 자동 지정자를 사용하여 변수를 정의하는 경우 이 변수는 일부 값으로 초기화되어야 합니다.

자동 번호 = 5;

할당된 값을 기반으로 컴파일러는 변수 유형을 추론합니다. 자동 한정자가 있는 초기화되지 않은 변수는 허용되지 않습니다.

정수형(int)

유형 크기 정수표준에 의해 정의되지 않고 컴퓨터와 컴파일러에 따라 다릅니다.

16비트 프로세서의 경우 이 유형의 값에 2바이트가 할당됩니다.

32비트 - 4바이트의 경우.

지정자 짧은유형 이름이 프로세서 비트 깊이에 관계없이 숫자에 2바이트를 할당해야 함을 컴파일러에 나타내기 전에.

지정자 이는 정수 값이 4바이트를 차지한다는 의미입니다.

따라서 16비트 컴퓨터에서 int와 short int에 해당하는 것은 다음과 같습니다.

32비트에서는 int 및 long int입니다.

내부 표현정수형 값 - 바이너리 코드의 정수. 지정자를 사용하는 경우 서명됨숫자의 최상위 비트는 부호 있는 1로 해석됩니다(0은 양수, 1은 음수). 지정자 서명되지 않은최상위 비트가 숫자 코드의 일부로 처리되므로 양수만 표시할 수 있습니다. 따라서 int 값의 범위는 지정자에 따라 달라집니다. IBM PC 호환 컴퓨터에 대한 다양한 지정자가 있는 정수 유형 값의 값 범위는 "단순 데이터 유형의 값 범위" 표에 나와 있습니다.

기본적으로 모든 정수 유형은 부호 있는 것으로 간주됩니다. 즉 부호 있는 지정자를 생략할 수 있습니다.

프로그램에 있는 상수에는 해당 유형에 따라 한 가지 유형이 할당됩니다. 어떤 이유로 프로그래머에게 적합하지 않은 경우 접미사 L, l(긴) 및 U, u(부호 없음)를 사용하여 필요한 유형을 명시적으로 나타낼 수 있습니다. 예를 들어, 상수 32L은 long 유형이고 4바이트를 차지합니다. L 및 U 접미사를 동시에 사용할 수 있습니다(예: 0x22UL 또는 05Lu).

메모. short int, long int, signed int 및 unsigned int 유형은 각각 short, long, signed 및 unsigned로 축약될 수 있습니다.

문자 유형(char)

문자 유형의 값에는 특정 컴퓨터의 문자 세트에 있는 모든 문자를 수용하기에 충분한 바이트 수가 할당되며, 이에 따라 유형의 이름이 결정됩니다. 일반적으로 이는 1바이트입니다. char 유형은 다른 정수 유형과 마찬가지로 부호가 있거나 부호가 없을 수 있습니다. 부호 있는 값은 -128에서 127 사이의 값을 저장할 수 있습니다. 부호 없는 지정자를 사용하면 값의 범위는 0에서 255까지 가능합니다. 이는 256자 ASCII 문자 집합의 모든 문자를 저장하는 데 충분합니다. char 유형의 값은 정수를 저장하는 데에도 사용됩니다.



확장 문자 유형(wchar_t)

유형 wchar_t 1바이트로는 인코딩하기에 충분하지 않은 문자 집합과 함께 작동하도록 설계되었습니다. 예를 들어 유니코드입니다. 이 유형의 크기는 구현에 따라 다릅니다. 일반적으로 다음 유형에 해당합니다. 짧은. wchar_t 유형의 문자열 상수는 L "Gates"와 같이 L 접두사로 작성됩니다.

부울 유형(bool)

부울 값은 값만 취할 수 있습니다 진실그리고 거짓, 이는 예약어입니다. false 값을 나타내는 내부 형식은 0(영)입니다. 다른 모든 값은 true로 해석됩니다. 정수형으로 변환하는 경우 진실값은 1입니다.

부동 소수점 유형(float, double 및 long double)

C++ 표준은 실수 값을 저장하기 위한 세 가지 데이터 유형(float, double 및 long double)을 정의합니다.

부동 소수점 데이터 유형은 정수 데이터 유형과 다르게 메모리에 저장됩니다. 실수의 내부 표현은 두 부분으로 구성됩니다. 가수그리고 주문하다.

IBM PC 호환 컴퓨터에서 유형의 값 뜨다 4바이트를 차지하며, 그 중 1개의 이진수가 할당됨 가수의 표시 아래, 8자리 순서대로그리고 23 가수 아래. 가수는 1.0보다 크고 2.0보다 작은 숫자입니다.가수의 앞자리가 항상 1이므로 저장되지 않습니다.

유형 수량의 경우 더블, 8바이트를 차지하며 순서와 가수에 각각 11비트와 52비트가 할당됩니다. 가수의 길이는 숫자의 정밀도를 결정하고 지수의 길이는 숫자의 범위를 결정합니다.항목 끝 부분의 표에서 볼 수 있듯이 float 및 long int 값에 동일한 바이트 수가 할당되면 허용되는 값의 범위가 크게 다릅니다. 내부 표현 형태로 인해.

지정자 유형 이름 앞에 더블해당 값에 10바이트가 할당되었음을 나타냅니다.

부동 소수점 상수는 기본적으로 double 유형입니다. 접미사 F, f(float) 및 L, l(long)을 사용하여 상수 유형을 명시적으로 지정할 수 있습니다.

예를 들어, 상수 2E+6L은 long double 유형이고 상수 1.82f는 float 유형입니다.

다양한 플랫폼에 범용적인 프로그램을 작성할 때 유형의 크기에 대해 가정할 수 없습니다. 정수.이를 얻으려면 sizeof 연산을 사용해야 하며 그 결과는 유형의 크기(바이트)입니다.

예를 들어, MS-DOS 운영 체제의 경우 sizeof(int)는 2가 되지만 Windows 98 또는 OS/2의 경우 결과는 4가 됩니다.

ANSI 표준은 기본 유형에 대한 값 범위를 지정하지 않습니다. 예를 들어 크기 간의 관계만 정의됩니다.

sizeof(float) ≤ slzeof(double) ≤ sizeof(long double)
sizeof(char) ≤ slzeof(short) ≤ sizeof(int) ≤ sizeof(long)

메모.정수 유형에 허용되는 최소 및 최대 값은 구현에 따라 다르며 헤더 파일에 제공됩니다. (), 실제 유형의 특성 - 파일에 있음 () 및 Numeric_limits 클래스 템플릿에도 있습니다.

유형 공백

나열된 것 외에도 언어의 주요 유형에는 void 유형이 포함되지만 이 유형의 값 세트는 비어 있습니다. 이는 값을 반환하지 않는 함수를 정의하고, 함수 인수의 빈 목록을 지정하고, 포인터의 기본 유형으로 지정하고, 유형 캐스팅 작업에서 사용됩니다.

계산 속도와 메모리 양은 다음에 따라 달라지므로 프로그래머가 특정 장비의 기능을 가장 효과적으로 사용할 수 있는 기회를 제공하기 위해 데이터 표현의 범위와 정확도가 다른 다양한 유형의 정수 및 실수 유형이 도입되었습니다. 유형의 선택. 그러나 한 유형의 컴퓨터에 최적화된 프로그램은 다른 플랫폼으로 이식되지 않을 수 있으므로 일반적으로 데이터 유형의 특정 특성에 의존하는 것을 피해야 합니다.

유형 값의 범위 크기(바이트)
부울 진실과 거짓
서명된 문자 -128 … 127
서명되지 않은 문자 0 … 255
서명된 짧은 정수 -32 768 … 32 767
부호 없는 짧은 정수 0 … 65 535
긴 정수로 서명됨 -2 147 483 648 … 2 147 483 647
부호 없는 긴 정수 0 … 4 294 967 295
뜨다 3.4e-38 … 3.4e+38
더블 1.7e-308 ~ 1.7C+308
긴 더블 3.4e-4932 … 3.4e+4932

프로그램 구조

C++ 프로그램은 다음으로 구성됩니다. 기능, 설명그리고 전처리기 지시문. 함수 중 하나에는 이름이 있어야 합니다. 기본. 프로그램 실행은 이 함수의 첫 번째 명령문부터 시작됩니다. 가장 간단한 함수 정의의 형식은 다음과 같습니다.

일반적으로 함수는 값을 계산하는 데 사용되므로 함수 이름 앞에 해당 유형이 표시됩니다. 다음은 기능에 대한 가장 중요한 정보입니다.

  • 함수가 값을 반환하지 않아야 하는 경우 void 유형이 지정됩니다.
  • 함수의 본문은 블록이므로 중괄호로 묶입니다.
  • 함수는 중첩될 수 없습니다.
  • 모든 명령문은 세미콜론으로 끝납니다(복합 명령문 제외).

주 함수, fl 및 f2 함수를 포함하는 프로그램 구조의 예:

프로그램은 여러 가지로 구성될 수 있습니다. 모듈(소스 파일).

C++의 I/O에 대한 참고 사항

C++ 언어에는 내장된 입/출력 기능이 없습니다. 이는 표준 라이브러리에 포함된 함수, 유형 및 객체를 사용하여 수행됩니다.

C 언어에서 상속된 함수와 C++ 개체라는 두 가지 방법이 사용됩니다.

기본 C 스타일 I/O 기능:

int scanf (const char* 형식, ...) // 입력
int printf(const char* format, ...) // 출력

형식 문자열에 따라 임의 개수의 값을 형식화된 입력 및 출력으로 수행합니다. 형식 문자열에는 출력 시 스트림(화면)에 복사되거나 입력 시 스트림(키보드)에서 요청되는 문자와 % 기호로 시작하는 변환 사양이 포함되며, 이는 입력 시 특정 값으로 대체됩니다. 그리고 출력.

C 스타일 I/O 함수를 사용하는 예제 프로그램:

#포함하다
int 메인() (
나는 int;
printf("정수를 입력하세요\n");
scanf("%d", &i);
printf("%d번 숫자를 입력하셨습니다. 감사합니다!", i);
0을 반환합니다.
}

이 프로그램의 첫 번째 줄은 프로그램에서 사용되는 입/출력 기능에 대한 설명이 포함된 헤더 파일을 프로그램 텍스트에 삽입하는 전처리기 지시문입니다(이 경우 꺾쇠 괄호는 언어 요소입니다). 모든 전처리기 지시문은 # 기호로 시작됩니다.

세 번째 줄은 i라는 정수형 변수에 대한 설명입니다.

네 번째 줄의 printf 함수는 "정수 입력" 프롬프트를 인쇄하고 \n 이스케이프 시퀀스에 따라 새 줄로 전환합니다. scanf 함수는 키보드에서 입력한 정수를 변수 i(기호 &는 주소를 구하는 연산을 나타냄)에 저장하고, 다음 명령문은 여기에 지정된 문자열을 표시하고 변환 사양을 이 숫자의 값으로 바꿉니다.

C++ 클래스 라이브러리를 사용한 프로그램:

#포함하다
int 메인() (
나는 int;
시합<< "Введите целое число\N"; cin >> i;
시합<< "Вы ввели число " << i << ", спасибо!";
0을 반환합니다.
}

헤더 파일에는 입력/출력 관리를 위한 클래스 집합에 대한 설명이 포함되어 있습니다. 표준 스트림 객체를 정의합니다. 키보드 입력 및 시합디스플레이 및 스트림에 배치하는 작업< < и чтения из потока >>.

입력/출력을 구성하는 데 두 가지 방법을 모두 사용할 수 있지만 하나의 프로그램에서 이를 혼합하는 것은 권장되지 않습니다.


같은 종류의 수량만 더하고 뺄 수 있다는 것은 누구나 알고 있습니다. 예를 들어, 사과는 사과와 합칠 수 있지만 사과는 평방미터나 온도로 합칠 수 없습니다. 대부분의 최신 알고리즘 언어에는 비슷한 제한 사항이 있습니다.

일반 객체가 색상(빨간색, 파란색, 노란색, 녹색), 맛(쓴맛, 신맛, 단맛), 양(1.5, 2, 7)의 특성을 갖는 것처럼 MQL4 프로그래밍 언어의 데이터는 유형에 따라 다릅니다. . 데이터 유형에 관해 이야기할 때 상수, 변수 및 함수에서 반환되는 값의 값 유형을 의미합니다(함수의 개념은 함수 섹션에서 논의됨).

MQL4 언어에서는 다음 유형이 구별됩니다(상수, 변수 및 함수가 반환하는 값).

정수를 입력하세요

유형 값 정수- 정수입니다. 이 유형에는 본질적으로 필수적인 값이 포함됩니다. 정수의 예는 다음과 같습니다: 금융 상품 창의 막대 수(16,000개 막대), 개시 및 보류 주문 수(3개 주문), 금융 상품의 현재 환율에서 주문 개시 가격까지 포인트 단위 거리 (15점). 이벤트 등의 개체 수도 정수만 가능합니다. 예를 들어 주문 개시 시도 횟수는 1.5회가 아니라 1회, 2회, 3회 등으로만 가능합니다.

정수 값에는 두 가지 유형이 있습니다.

  • 소수값은 0 - 9의 숫자로 구성될 수 있으며 10, 11, 12, 1, 5, -379, 25, -12345, -1, 2의 양수 또는 음수일 수 있습니다.
  • 16진수값은 A부터 F까지 또는 a부터 f까지의 라틴 알파벳 문자, 0부터 9까지의 숫자로 구성될 수 있으며 0x 또는 0X로 시작하고 양수 및 음수 값을 취해야 합니다: 0x1a7b, 0xff340, 0xAC3 0X2DF23, 0X13AAB, 0X1 .

int 유형의 값은 -2,147,483,648에서 2,147,483,647 사이의 숫자 범위에 있어야 합니다. 상수 또는 변수의 값이 지정된 범위를 벗어나면 프로그램 결과가 정의되지 않습니다. 컴퓨터 메모리에서는 int 유형의 상수 및 변수 값이 4바이트를 차지합니다.

프로그램에서 int 변수를 사용하는 예:

int 예술 = 10 ; // 정수 변수의 예
int B_27 = - 1; // 정수 변수의 예
정수 숫자 = 21 ; // 정수 변수의 예
정수 최대 = 2147483647 ; // 정수 변수의 예
int 최소 = - 2147483648 ; // 정수 변수의 예

더블을 입력하세요

유형 값 더블분수 부분을 포함하는 실수입니다.

이 유형의 값의 예로는 지지선의 경사각, 금융 상품 가격, 하루 동안 열린 평균 주문 수 등 값이 분수 부분을 가질 수 있는 수량입니다.

때때로 프로그램을 작성할 때 변수 유형을 결정하는 데 어려움이 발생할 수 있습니다. 즉, 변수가 어떤 유형(int 또는 double)인지 프로그래머에게 즉시 명확하지 않습니다. 작은 예를 살펴보겠습니다.

이 프로그램은 일주일 이내에 12개의 주문을 열었습니다. 이 프로그램에서 개설한 일일 평균 주문 수를 고려하는 변수 A는 어떤 유형이어야 합니까? 분명히 대답은 다음과 같습니다. A = 주문 12개/5일. 즉, 변수 A = 2.4는 프로그램에서 double로 간주되어야 합니다. 이 값에는 소수 부분이 있습니다. 그리고 주당 개설된 총 주문 수가 10개인 경우 이 동일한 변수 A는 어떤 유형이어야 합니까? 2(주문 10개/5일 = 2)에 소수 부분이 없으면 변수 A를 int로 고려할 수 있는 것처럼 보입니다. 그러나 이러한 추론은 잘못된 것입니다. 일부 변수의 현재 값에는 0으로만 구성된 분수 부분이 있을 수 있습니다. 그러나 중요한 것은 이 변수의 값이 본질적으로 유효하다는 것입니다. 이 경우 변수 A도 double 유형이어야 하며 프로그램에서 상수를 작성할 때 구분점이 표시되어야 합니다. A = 2.0


실수 상수와 변수의 값은 정수부, 소수점(.), 분수부로 구성됩니다. 양수 값과 음수 값을 취할 수 있습니다. 정수와 분수 부분은 0 - 9까지의 숫자로 구성됩니다. 소수점 이하 유효 자릿수는 15까지 가능합니다. 예를 들면 다음과 같습니다.

27.12 -1.0 2.5001 -765456.0 198732.07 0.123456789012345

double 값의 범위는 -1.7 * e-308부터 1.7 * e308까지입니다. 컴퓨터 메모리에서는 double형의 상수와 변수의 값이 8바이트를 차지한다.

프로그램에서 double 변수를 사용하는 예:

더블 아트 = 10.123 ;
더블 B_27 = - 1.0 ; //실제 변수의 예
이중 숫자 = 0.5 ; //실제 변수의 예
이중 MMM = - 12.07 ; //실제 변수의 예
두배 가격_1 = 1.2756 ; //실제 변수의 예

부울을 입력하세요

유형 값 부울- 논리 유형 값으로, 그 내용은 false이고 true입니다.

논리 유형 개념의 의미를 더 잘 이해하기 위해 일상 생활의 작은 예를 고려해 보겠습니다. 교사가 학생들의 교과서를 추적해야 한다고 가정해 보겠습니다. 이 경우 교사는 종이에 학생 목록을 작성하고 줄 오른쪽에 학생이 교과서를 가지고 있는지 여부를 기록합니다. 예를 들어 체크 표시와 대시를 넣을 수 있습니다.

학생 목록 물리학 교과서 생물학 교과서 화학 교과서
1 이바노프 V - -
2 페트로프 V - V
3 시도로프 - V V
... ... ... ... ...
25 미로노프 V V V

오른쪽 열의 값은 true 또는 false의 2가지 가능한 값만 취합니다. 이러한 값은 숫자가 아니기 때문에 앞에서 설명한 데이터 유형으로 분류할 수 없습니다. 또한 색상, 맛, 수량 등에 대한 값도 아닙니다. 그럼에도 불구하고 이는 중요한 의미론적 부하를 전달합니다. MQL4 언어에서는 이러한 값을 논리적이라고 합니다. bool형 상수와 변수의 특징은 true(true, True, TRUE, 1) 또는 false(false, False, FALSE, 0)의 2가지 값만 취할 수 있다는 것입니다. 컴퓨터 메모리에서는 bool 유형의 상수 및 변수 값이 4바이트를 차지합니다.

프로그램에서 bool 유형 변수를 사용하는 예:

부울 aa = 참 ; // 부울 변수 aa의 값은 true입니다.
부울 B17 = 참 ; // 부울 변수 B17은 true입니다.
bool 함마 = 1 ; // 부울 변수 Hamma는 참입니다.

bool Asd = 거짓 ; // 부울 변수 Asd는 false입니다.
bool Nol = 거짓 ; // 부울 변수 Nol은 false입니다.
bool 프림 = 0 ; // 부울 변수 Prim은 false입니다.

문자열을 입력하세요

유형 값 ASCII 문자 집합인 문자열 값입니다.

일상 생활에서 상점, 자동차 브랜드 등의 이름은 비슷한 내용을 갖습니다. 문자열 유형 값은 큰따옴표로 묶인 문자 집합으로 작성됩니다(큰따옴표와 두 개의 작은따옴표를 혼동하지 마십시오!). 따옴표는 문자열 상수 값의 시작과 끝을 나타내는 데에만 사용되며, 값 자체는 따옴표로 묶인 문자 집합입니다.

문자열에 큰따옴표 "를 입력해야 하는 경우 앞에 백슬래시 문자(\)를 입력해야 합니다. 백슬래시 문자 \ 다음에 특수 문자 상수를 문자열에 입력할 수 있습니다. 문자열 상수의 길이는 다음과 같습니다. 문자열 상수의 길이가 최대값을 초과하는 경우 오른쪽의 추가 문자는 삭제되고 컴파일러는 일반적으로 첫 번째 문자가 백슬래시인 두 문자의 조합을 표시합니다. 일반적이며 대부분의 프로그램에서는 특정 텍스트 서식을 수행한다는 표시로 해석됩니다. 예를 들어 \n 조합은 줄 바꿈이 필요함을 나타내고 \t는 탭을 나타냅니다.

문자열 유형 값은 "MetaTrader 4", "Stop Loss", "Ssssstop_Loss", "stoploss", "10 pips"와 같이 큰따옴표로 묶인 문자 집합으로 작성됩니다. 실제 문자열 값은 따옴표 안의 문자 집합입니다. 따옴표는 값의 경계를 나타내는 데에만 사용됩니다. 내부 표현은 8바이트 구조입니다.

프로그램에서 문자열 변수를 사용하는 예:

문자열 접두사 = "MetaTrader 4";
string Postfix = "_of_my_progr.OK"; // 문자열 변수의 예
string Name_Mass = "역사"; // 문자열 변수의 예
문자열 텍스트 ="상위 라인\ n 결론"; // 텍스트에 개행 문자가 포함되어 있습니다.

유형 색상

유형 값 색상색상 유형의 값입니다.

파란색, 빨간색, 흰색, 노란색, 녹색 등 색상의 의미는 누구나 알고 있습니다. 색상 유형 변수나 상수가 무엇을 의미하는지 상상하는 것은 어렵지 않습니다. 값이 색상인 상수 또는 변수입니다. 이는 다소 이상해 보일 수 있지만 본질적으로 매우 간단합니다. 정수 상수의 값이 숫자인 것처럼 색상 상수의 값도 색상입니다.

색상 상수와 변수의 값은 다음 세 가지 유형 중 하나로 표현될 수 있습니다.

  • 리터럴

    리터럴 색상 유형 값에는 빨간색, 녹색, 파란색의 세 가지 기본 색상 구성 요소의 숫자 강도 값을 나타내는 세 부분이 있습니다. 이 유형의 값은 문자 C로 시작하고 작은따옴표로 묶입니다.

    색상 구성 요소의 강도에 대한 숫자 값은 0에서 255까지이며 10진수 또는 16진수 형식으로 쓸 수 있습니다.

    예: C"128,128,128"(회색), C"0x00,0x00,0xFF"(파란색), C"0xFF,0x33,0x00"(빨간색).

  • 정수 표현

    정수 표현은 16진수 또는 10진수로 작성됩니다. 16진수는 0xRRGGBB 형식을 가지며, 여기서 RR은 색상의 빨간색 구성요소의 강도 값이고, GG는 녹색 구성요소, BB는 파란색 구성요소입니다. 소수 상수는 RGB에 직접 반영되지 않습니다. 이는 16진수 정수 표현의 10진수 값을 나타냅니다.

    색상 유형 값을 정수와 16진수 리터럴로 표현하는 것은 매우 편리합니다. 대부분의 최신 텍스트 및 그래픽 편집기는 선택한 색상 값의 빨간색, 파란색 및 녹색 구성 요소 내용에 대한 정보를 제공합니다. 편집기에서 원하는 색상을 선택하고 이러한 방식으로 식별된 숫자를 색상 값의 적절한 표현으로 다시 작성하는 것으로 충분합니다.

    예: 0xFFFFFF(흰색), 0x008000(녹색), 16777215(흰색), 32768(녹색).


    쌀. 11. 최신 편집기에서는 상수 색상 값의 리터럴 및 정수 표현을 위해 색상 매개변수를 사용할 수 있습니다.

  • 색상 이름

    색상을 지정하는 가장 쉬운 방법은 웹 색상표에 따라 색상 이름을 지정하는 것입니다. 이 경우 색상의 의미는 색상과 연관된 단어(예: Red - red)로 표시됩니다.

    검은색 짙은 녹색 다크슬레이트그레이 올리브 녹색 물오리 해군 보라
    적갈색 남빛 자정 블루 다크블루 다크올리브그린 안장브라운 포레스트그린 올리브드랩
    씨그린 다크골든로드 다크슬레이트블루 시에나 미디엄 블루 갈색 어두운 청록색 희미한 회색
    빛바다녹색 다크바이올렛 내화 벽돌 중간보라색빨간색 중간바다녹색 초콜릿 진홍 스틸블루
    갈조색 중간봄녹색 잔디녹색 생도 블루 다크오키드 연두색 라임그린 오렌지 레드
    다크오렌지 주황색 노란색 연두빛 라임 스프링그린 아쿠아
    딥스카이블루 파란색 마젠타 빨간색 회색 슬레이트 그레이 페루 블루바이올렛
    라이트슬레이트그레이 딥핑크 중간 청록색 다저 블루 터키 옥 로얄 블루 슬레이트 블루 다크카키
    인도의레드 미디엄오키드 녹색노란색 미디엄아쿠아마린 어두운바다녹색 토마토 로지브라운 난초
    미디엄퍼플 창백한보라색빨간 산호 수레 국화블루 짙은 회색 샌디브라운 중간슬레이트블루 탠 껍질
    다크샐몬 벌리우드 핫 핑크 연어 제비꽃 라이트산호 하늘색 라이트연어
    자두 카키색 옷감 연한 초록색 남옥 밝은하늘색 라이트스틸블루 라이트블루
    옅은 녹색 엉겅퀴 훈장 파우더블루 창백한 황금 막대 창백한 청록색 라이트그레이 나바호어화이트
    모카신 라이트핑크 게인즈버러 피치퍼프 분홍색 비스크 라이트골든로드 데친 아몬드
    레몬쉬폰 베이지 고대의화이트 파파야채찍 옥수수 실크 연노랑 밝은 청록색 리넨
    라벤더 미스티로즈 낡은레이스 화이트스모크 조개 상아 단물 앨리스블루
    라벤더블러쉬 민트크림 하얀색



컴퓨터 메모리에서는 color 유형의 상수 및 변수 값이 4바이트를 차지합니다. 프로그램에서 이러한 변수를 사용하는 예:

색상 Paint_1 = C " 128 , 128 , 128 "; // 변수에 grey 값이 할당됩니다.
색상 Colo = C " 0 x00 , 0 x00 , 0 xFF "; // 변수에 blue 값이 할당됩니다.
색상 BMP_4 = C " 0 xFF , 0 x33 , 0 x00 "

색상 K_12 = 0 xFF3300 ; // 변수에 red라는 값이 할당됩니다.
색상 N_3 = 0 x008000 ;
색상 색상 = 16777215 ;
색상 알파 = 32768 ; // 변수에 녹색 값이 할당됩니다.

색상 A = 빨간색; // 변수에 red라는 값이 할당됩니다.
색상 B = 노란색; // 변수에 노란색 값이 할당됩니다.
색상 Colorit = 검정색 ; // 변수에 black 값이 할당됩니다.
색상 B_21 = 흰색 ; // 변수에 흰색 값이 할당됩니다.

날짜/시간 유형

유형 값 날짜 시간날짜 및 시간 값입니다.

이 유형의 값은 프로그램에서 중요한 뉴스 공개, 근무일의 시작/끝 등을 포함하여 모든 이벤트의 시작 또는 끝 순간을 분석하는 데 사용할 수 있습니다. 날짜 및 시간 상수는 다음과 같이 나타낼 수 있습니다. 연도, 월, 날짜(또는 날짜, 월, 연도), 시, 분, 초의 숫자 값을 나타내는 6개 부분으로 구성된 리터럴 문자열입니다.

상수는 작은따옴표로 묶이고 문자 D로 시작합니다. 날짜나 시간이 없거나 빈 값 등 잘린 값이 허용됩니다. 값 변경 범위: 1970년 1월 1일부터 2037년 12월 31일까지. 컴퓨터 메모리에서는 상수와 날짜/시간 변수의 값이 4바이트를 차지합니다. 값은 1970년 1월 1일 00:00 이후 경과한 초 수를 나타냅니다.

프로그램에서 날짜/시간 유형 변수를 사용하는 예:

datetime 알파 = D "2004.01.01 00:00"; // 새해
날짜 시간 Tim = D "2004년 1월 1일"; // 새해
날짜시간 팀스 = D "2005.05.12 16:30:45";
날짜시간 N_3 = D "2005년 5월 12일 16:30:45"; // 2005년 5월 12일 16시간 30분 45초
날짜시간 컴파일 = D ""; // D"[컴파일 날짜] 00:00:00"과 동일

변수 선언 및 초기화

계산 중에 프로그램이 이 변수나 해당 변수가 어떤 유형의 데이터에 속하는지 질문하지 않도록 하기 위해 MQL4에서는 프로그램 시작 부분에 변수 유형을 명시적으로 표시하는 것이 필수 규칙입니다. 변수가 계산에 참여하기 전에 변수를 선언해야 합니다.

변수 선언- 이것은 프로그램에서 변수에 대한 첫 번째 언급입니다. 변수를 선언하면 해당 유형이 표시됩니다.

변수 초기화- 선언할 때 해당 유형에 해당하는 값을 할당합니다. 모든 변수는 초기화될 수 있습니다. 초기 값을 명시적으로 지정하지 않으면 숫자 변수는 0으로 초기화되고 문자열 변수는 빈 문자열로 초기화됩니다.

변수는 별도의 줄에 선언될 수 있습니다.

정수 Var_1 ; // 별도의 줄에 변수 선언

이 항목은 변수 Var_1(변수 선언 자체)이 사용되고 이 변수의 유형이 int임을 의미합니다.

한 줄에 동일한 유형의 여러 변수를 선언하는 것이 허용됩니다.

int Var_1, Box, Comm; // 한 줄에 여러 변수 선언

이 항목은 변수 Var_1, Box 및 Comm이 사용되고 이러한 변수의 유형이 int라는 것을 의미합니다. 즉, 나열된 변수는 프로그램에서 정수 유형의 변수로 고려됩니다.


명령문 내에서 변수를 초기화하는 것이 허용됩니다.

이중 Var_5 = 3.7 ; // 할당문에서 변수를 초기화합니다.

이 항목은 실수 유형의 변수 Var_5가 초기값 3.7로 사용된다는 의미입니다.

프로그램의 후속 라인 어디에도 표시된 변수 유형이 없습니다. 그러나 프로그램이 변수에 액세스할 때마다 이 변수가 선언될 때 지정된 유형이라는 것을 기억합니다. 프로그램에서 계산이 진행되면서 변수의 값이 바뀔 수 있지만 변수의 종류는 변하지 않습니다.

변수 이름은 변수 유형과 아무런 관련이 없습니다. 변수 이름으로 유형을 판단하는 것은 불가능합니다. 다른 프로그램의 동일한 변수 이름을 모든 유형의 변수에 사용할 수 있습니다. 그러나 한 프로그램 내에서는 모든 변수의 유형을 한 번만 선언할 수 있습니다. 프로그램 실행 중에 선언된 변수의 유형은 변경되지 않습니다.

변수 선언 및 초기화의 예

변수 선언은 여러 줄 또는 한 줄로 이루어질 수 있습니다.

동일한 유형의 여러 변수를 동시에 선언할 수 있습니다. 이 경우 변수는 쉼표로 구분되어 나열되며 줄 끝에 세미콜론이 배치됩니다.



쌀. 12. 별도의 줄에 변수를 선언하는 예.


변수 유형은 변수가 처음 언급될 때 한 번 선언됩니다. 변수에 대한 두 번째 및 후속 언급은 해당 유형을 나타내지 않습니다.



쌀. 13. 별도의 줄에 변수를 선언하는 예.


명령문에서 변수 선언 및 초기화가 허용됩니다.



쌀. 14. 변수 초기화의 예.



쌀. 15. 복합 명령문의 헤더에서 변수 초기화.

답변:
  1. 정수 데이터 유형:

짧은 int, unsigned short int, int, unsigned int, long, unsigned long.

  1. 부동 소수점 데이터 유형(실수 유형에 해당):

플로트, 더블, 롱 더블.

  1. 문자 데이터 유형:

char(서명된 char), unsigned char, wchar_t.

  1. 부울 데이터 유형:

부울.

  1. 열거형 데이터 유형(Visual C++에서 도입됨):

열거형.

2. 정수 데이터 유형을 사용하면 어떤 특징이 있나요?

C++에서 주요 정수 데이터 유형은 short int, unsigned short int, int, unsigned int, long(long int), unsigned long(unsigned long int)입니다.

이러한 데이터 유형은 정수 집합의 값을 나타냅니다. 예를 들어:

2 -100 398

부호 없는 접두사로 시작하는 데이터 유형에는 양수만 포함될 수 있습니다.

short int, unsigned short int 유형의 데이터는 int, unsigned int 유형의 데이터에 비해 절반의 메모리 공간을 차지합니다.

long, unsigned long 유형의 데이터는 int, unsigned int 유형의 데이터보다 두 배의 메모리 공간을 차지합니다.

3. 프로그램에서 x라는 정수형 변수를 어떻게 기술하나요?

답변:
정수 x; // 부호 있는 정수

결과적으로 변수 아래에는 엑스 4바이트의 메모리 공간이 할당됩니다. 변수에 할당되는 메모리 크기는 컴퓨터의 특성, 운영 체제 유형 및 컴파일러 설정에 따라 다릅니다.

4. 정수형 변수에 숫자 239를 어떻게 쓰나요?

이렇게 하려면 '=' 기호로 표시되는 할당 연산자를 사용합니다.

답변 1.설명 뒤에 변수에 숫자를 입력합니다.

정수 x; x = 239;

답변 2.설명(초기 초기화) 중에 변수에 숫자를 입력합니다.

정수 x = 239;

5. 부동 소수점 데이터 유형의 특징은 무엇입니까?

부동 소수점 데이터 유형을 사용하면 실수 집합의 값을 표현할 수 있습니다. 예를 들어:

8.35 -990.399 239.0.

C++에는 다음과 같은 기본 부동 소수점 데이터 유형이 있습니다.

플로트, 더블, 롱 더블.

double 유형의 변수는 float 유형의 변수보다 컴퓨터 메모리에서 2배 더 많은 공간을 차지합니다.

또한, long double 유형 변수는 double 유형 변수보다 컴퓨터 메모리 공간을 2배 더 많이 차지합니다.

6. 부동 소수점 값을 취하는 변수를 설명하는 방법은 무엇입니까?

float, double, long double 유형의 변수를 설명하는 예:

플로트 f; 더블 디; 긴 이중 ld;

7. 부동 소수점 변수에 숫자 값을 쓰는 방법은 무엇입니까?

부동 소수점 변수에 숫자 데이터를 입력하는 예:

부동 f = -9928.45; // 초기 초기화 더블 디; 긴 이중 ld; d = 0.445332; // 할당 연산자 ld = 3892923898239.030903; // 할당 연산자

8. float 변수를 int 유형으로 변환하는 방법은 무엇입니까?

이를 위해 유형 캐스팅 작업이 사용됩니다. 괄호 안에는 캐스트되는 유형의 이름을 표시해야 합니다.

플로트 a; int b; a = 8.457; b = (int ) a; // b = 8

유형 캐스팅 작업을 사용할 때는 컴퓨터 메모리에서 더 적은 공간을 차지하는 유형에 적용되는 제한 사항을 고려해야 합니다.

예를 들어, short int 유형의 변수는 float 또는 double 유형의 변수보다 더 작은 숫자 범위를 나타낼 수 있습니다. 다음 목록은 short int 유형의 변수 값을 오버플로합니다.

짧은 int i; 플로트 f; f = 3990099.8; 나는 = (int )f; // i = -7597 - 오버플로

9. 변수를 int 유형에서 double 유형으로 변환하는 방법은 무엇입니까?

int에서 double로 캐스팅하는 예:

나는 int; 더블 디; 나는 = 982; d = (더블)i; // d = 982.0

10. 프로그램에서 char 데이터(문자 데이터)를 사용하면 어떤 특징이 있나요?

char 유형의 데이터는 키보드에서 입력한 코드의 문자 값을 나타냅니다. 기호 코드는 정수입니다.

예를 들어 문자 'f'의 코드는 102입니다.

문자 코드를 계산하는 코드 조각:

정수 코드; 문자 기호; 기호 = "f" ; 코드 = (int ) 기호; // 코드 = 102

char 유형의 데이터는 동일한 정수입니다. char 유형의 데이터는 컴퓨터 메모리에서 1바이트를 차지합니다.

문자-코드 관계는 Windows 기호 테이블에 있습니다. 0부터 127까지의 코드가 있는 문자는 예약된 BIOS 문자입니다. 여기에는 가장 일반적으로 사용되는 기호, 숫자 기호 및 라틴 기호가 포함됩니다. 이 문자는 변경할 수 없습니다.

128부터 255까지의 코드가 있는 문자는 Windows 운영 체제가 설치된 컴퓨터의 특정 알파벳에 연결된 지역 문자입니다.

11. bool(논리형) 데이터형을 사용하면 어떤 특징이 있나요?

bool 유형의 변수는 두 가지 값만 사용할 수 있습니다.

사실-진실,

거짓 - 거짓.

이러한 변수는 부울 표현식을 테스트하는 데 사용됩니다. true의 숫자 값은 1입니다. false의 숫자 값은 0입니다.

숫자 값 true 및 false를 정의하는 코드 조각:

정수 결과; 부울 b; 결과 = (int)true; // 결과 = 1 b = 거짓 ; 결과 = (int )b; // 결과 = 0

int 및 float 유형을 bool로 변환하는 코드 조각:

나는 int; 플로트 f; 부울 b; 나는 = 6; b = (bool)i; // b = 참 f = 0.0; b = (bool)f; // b = 거짓

12. 주어진 유형의 변수가 차지하는 메모리 크기를 어떻게 결정합니까?

이를 위해 sizeof() 작업이 사용됩니다.

일부 데이터 유형의 크기를 정의하는 코드 조각:

정수 d; d = 크기(문자); // d = 1 d = sizeof(unsigned int); // d = 4 d = sizeof(float); // d = 4 d = sizeof(double); // d = 8

13. 다양한 유형의 변수는 어떻게 초기화되나요?

정수 d = 28; float z = (float )2.85; char c = "k" ; 문자열 ^s = "안녕하세요!" ; 더블 r = -8.559;

14. 특정 유형 변수의 최대 허용(최소 허용) 값을 결정하는 방법은 무엇입니까?

특정 유형의 변수에 대한 최대값 또는 최소값을 결정하기 위해 .NET Framework 라이브러리는 MaxValue 및 MinValue 속성을 사용합니다.

다양한 유형의 변수의 한계값을 결정하는 예.

int 유형의 변수의 경우:

// int를 입력하세요. 나는 int; 긴 MaxInt; 긴 MinInt; MaxInt = (long)i.MaxValue; // MaxInt = 2147483647 MinInt = (long)i.MinValue; // MinInt = -2147483648

short int 유형의 변수의 경우:

// 짧은 int를 입력하세요. 짧은 int si; int MaxInt; int MinInt; MaxInt = (int )si.MaxValue; // MaxInt = 32767 MinInt = (int )si.MinValue; // MinInt = -32768

unsigned int 유형의 변수의 경우:

// unsigned int를 입력하세요. 서명되지 않은 int ui; 서명되지 않은 int MaxInt; 서명되지 않은 int MinInt; MaxInt = ui.MaxValue; // MaxInt = 4294967295 MinInt = ui.MinValue; // 최소Int = 0

부동 변수의 경우:

// 부동 소수점 유형 플로트 f; 플로트 MaxF; MinF 플로트; MaxF = f.MaxValue; // 최대F = 3.402823E+38 MinF = f.MinValue; // MinF = -3.402823E+38

double 유형의 변수의 경우:

// 이중 유형 더블 디; 이중 MaxD; 이중 MinD; 최대 = d.MaxValue; // 최대 = 1.79769313486232E+308 최소 = d.MinValue; // 최소 = -1.79769313486232E+308

char 유형의 변수의 경우:

// 문자 입력 문자 C; int MaxC; int MinC; 최대 = (int )c.MaxValue; // 최대 = 127 최소 = (int )c.MinValue; // 최소 = -128

15. 열거형을 사용하면 어떤 특징이 있나요?

열거형은 열거형 데이터 형식입니다. 정수 값 세트에 대한 니모닉 값을 지정합니다. 각 니모닉 값은 특정 내용을 가지며 정수로 표시됩니다.

열거형을 사용하여 연도의 월을 나타내는 예:

열거형 월(1월, 2월, 3월, 4월, 5월, 6월, 7월, 8월, 9월, 10월, 11월, 12월) 백만; 백만 = 1월; // mn = 0 백만 = 3월; // mn = 2 백만 = 9월; // mn = 8

아래 예에서는 열거형 월의 mn이라는 변수를 설명합니다. 월(1월, 2월, …)에 대한 니모닉 값은 0(0, 1, 2, …)부터 시작합니다. 1월 니모닉은 정수 값 0이고, 2월 니모닉은 정수 값 1입니다.

따라서 열거형 유형을 사용하면 소스 코드의 명확성을 높이기 위해 프로그램 텍스트에 니모닉을 사용할 수 있습니다.

다음과 같이 작성할 수도 있습니다.

mn = (계산 월)2; // mn = 3월 mn = (계산 월)11; // mn = 12월

16. 이 유형의 특징은 무엇입니까?무효의 프로그램에서++ ?

void 데이터 유형은 다음과 같은 경우에 사용됩니다.

  • 어떤 값도 반환하지 않는 함수를 설명해야 하는 경우(예제 참조)
  • 매개변수를 받지 않는 함수를 설명해야 하는 경우(예제 참조)

. MyFun()은 값을 반환하지 않고( void 유형 반환) 매개 변수를 사용하지 않는 매개 변수 없는 함수입니다.

공개 : 무효 MyFun(무효) { // 함수 본문 // ... 반품; // 값을 반환하지 않는 함수에서 반환 } // 프로그램에서 함수 호출 ... 마이펀(); ...

17. 유형의 변수를 선언하는 것이 가능합니까?무효의 프로그램에서?

void 유형이 값과 연결되어 있지 않기 때문에 이는 불가능합니다.

void 유형의 변수를 선언하면 다음 메시지와 함께 컴파일 오류가 발생합니다.

"void 유형의 불법 사용"

18. 이 유형의 특징은 무엇입니까?wchar_ V시각적 ++ ?

char 유형의 변수(이전 단락 참조)는 8비트 ASCII 문자를 저장하는 데 사용됩니다.

wchar_t 유형은 큰 문자 세트의 일부인 문자를 저장하는 데 사용됩니다. 예를 들어, 중국어 알파벳에는 엄청난 수의 문자가 있습니다. 8자리 숫자로는 한자 전체를 표현하기에는 부족합니다. 따라서 해외 시장에서 프로그램을 사용해야 한다면 char 유형을 wchar_t로 바꾸는 것이 좋습니다.

wchar_t 유형을 사용합니다.

... wchar_t t; // 변수 t에 2바이트의 메모리가 할당됩니다. t = "s"; ...

질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: