여기에서 우리는 C 또는 C++에서 ldexp() 메소드의 사용이 무엇인지 볼 것입니다. 이 함수는 모든 변수 x가 exp 값의 거듭제곱으로 상승한 값을 반환합니다. 이것은 두 개의 인수 x와 exp를 취합니다. 구문은 아래와 같습니다. float ldexp (float x, int exp) double ldexp (double x, int exp) long double ldexp (long double x, int exp) double ldexp (T x, int exp) 이제 더 나은 아이디어를 얻기 위해 한 가지 예를 살펴
wcstoll() 함수는 와이드 문자열을 긴 정수로 변환하는 데 사용됩니다. 마지막 문자 다음의 첫 번째 문자를 가리키도록 포인터를 설정합니다. 구문은 아래와 같습니다. long long wcstoll(const wchar_t* str, wchar_t** str_end, int base) 이 함수는 세 개의 인수를 취합니다. 이러한 인수는 다음과 같습니다 - 문자열: 이것은 넓은 문자열의 시작입니다. str_end: str_end는 문자가 있는 경우 마지막 유효한 문자 이후의 다음 문자로 함수에 의해 설정되고, 그렇지 않으면 n
C++의 cstdlib 라이브러리에는 abs를 제외하고 절대값을 구하는 다양한 함수가 있습니다. abs는 기본적으로 C에서 int 유형 입력에 사용되며 int, long, long long은 C++에서 기본적으로 사용됩니다. 다른 것들은 long, long long 타입 데이터 등에 사용됩니다. 이 함수들의 사용법을 살펴보겠습니다. abs() 함수 이 함수는 int 유형 데이터에 사용됩니다. 따라서 이것은 주어진 인수의 절대값을 반환합니다. 구문은 아래와 같습니다. int abs(int argument) 예시 #include &l
여기서 우리는 반환 값과 인수에 따라 C 함수의 다른 유형이 무엇인지 볼 것입니다. 따라서 함수는 일부 인수를 취하거나 아무 것도 취하지 않을 수 있습니다. 유사하게, 함수는 무언가를 반환할 수 있습니다. 그렇지 않으면 아무 것도 반환하지 않습니다. 네 가지 유형으로 분류할 수 있습니다. 인수 및 반환 유형이 없는 함수 인수가 없는 함수 및 무언가를 반환합니다. 인수를 받지만 아무 것도 반환하지 않는 함수입니다. 인수를 받고 무언가를 반환하는 함수입니다. 예시 #include <stdio.h> void my_func
여기서 우리는 C의 kbhit 기능을 볼 것입니다. kbhit은 기본적으로 Keyboard Hit입니다. 이 기능은 conio.h 헤더 파일에 있습니다. 따라서 이것을 사용하려면 이 헤더 파일을 코드에 포함해야 합니다. kbhit()의 기능은 키를 누르면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환한다는 것입니다. 예시 #include <stdio.h> #include <conio.h> main() { char ch; printf("Enter key
이 섹션에서는 주어진 문자가 숫자인지, 알파벳 또는 C의 일부 특수 문자인지 확인하는 방법을 살펴봅니다. 알파벳은 A – Z 및 a – z이며 숫자는 0 – 9입니다. 다른 모든 문자는 특수 문자입니다. 따라서 이러한 기준으로 조건을 확인하면 쉽게 찾을 수 있습니다. 예시 #include <stdio.h> #include <conio.h> main() { char ch; printf("Enter a character: "); &nbs
sizeof 함수(연산자라고도 함)는 주어진 인수의 크기를 계산하는 데 사용됩니다. 다른 함수가 인수로 주어지면 sizeof에서 실행되지 않습니다. 다음 예제에서는 루프 안에 하나의 printf() 문을 넣을 것입니다. 그러면 출력이 표시됩니다. 예시 #include<stdio.h> double my_function() { printf("This is a test function"); return 123456789; } main() { &nbs
여기에서 정규 분포를 따르는 난수를 생성하는 방법을 살펴보겠습니다. 일반 랜덤의 경우 공식은 아래와 같습니다. 𝑧 =√−2 ln 𝑥1 cos (2𝜋𝑥2 ) 여기 x1 및 x2 무작위로 선택됩니다. 예시 #include #include #include #include 네임스페이스 사용 std;double rand_gen() { // 균일하게 분포된 임의 값 반환 return ( (double)(rand()) + 1. )/( (double)(RAND_MAX) + 1. );}double normalRandom() { // 정규
여기에서 주어진 입력이 정수 문자열인지 일반 문자열인지 확인하는 방법을 볼 것입니다. 정수 문자열은 0 – 9 범위에 있는 모든 문자를 포함합니다. 솔루션은 매우 간단합니다. 각 문자를 하나씩 살펴보고 숫자인지 여부를 확인하면 됩니다. 숫자이면 다음을 가리키고 그렇지 않으면 false 값을 반환합니다. 예시 #include <iostream> using namespace std; bool isNumeric(string str) { for (int i = 0; i < str.length(); i
어떤 경우에는 C 또는 C++에서 long long을 사용합니다. 여기서 우리는 기본적으로 long long이 무엇인지 볼 것입니다. long long은 두 배의 메모리를 오래 사용합니다. 다른 시스템에서는 할당된 메모리 공간이 다릅니다. Linux 환경에서 long은 64비트(8바이트)의 공간을 차지하고 long long은 128비트(16바이트)의 공간을 차지합니다. 이것은 큰 값의 정수를 처리하고자 할 때 사용됩니다. 이 간단한 프로그램을 사용하여 다양한 유형의 크기를 테스트할 수 있습니다. 예시 #include <ios
때때로 우리는 두 가지 유형의 주요 함수 정의가 있음을 봅니다. int main() 및 int main(void). 차이가 있습니까? C++에서는 차이가 없습니다. C에서도 둘 다 맞습니다. 그러나 두 번째 것이 기술적으로 더 좋습니다. 함수가 인수를 사용하지 않음을 지정합니다. C에서 일부 함수가 인수와 함께 지정되지 않은 경우 인수를 사용하지 않거나 여러 인수를 사용하여 호출할 수 있습니다. 이 두 코드를 확인하십시오. (이것은 C++가 아닌 C로 되어 있음을 기억하십시오) 예시 #include<stdio.h> vo
우리는 C의 함수에 가변 길이 인수를 사용할 수 있다는 것을 알고 있습니다. 이를 위해 생략 부호(…)를 사용해야 합니다. 매크로의 경우에도 가변 길이 인수를 사용할 수 있습니다. 여기에도 줄임표를 포함해야 합니다. __VA_ARGS__는 가변 길이 인수를 처리하는 데 사용됩니다. 연결 연산자 ##는 변수 인수를 연결하는 데 사용됩니다. 이 예에서 매크로는 printf() 또는 scanf() 함수와 같은 가변 길이 인수를 사용합니다. 이 매크로에서 파일 이름, 줄 번호 및 오류 메시지를 인쇄합니다. 첫 번째 인수는 pr입니다. 이
#define은 전처리기 지시문입니다. 따라서 #define을 사용하여 일부 매크로를 정의하면 컴파일 전에 해당 값으로 코드로 바뀝니다. 따라서 컴파일러가 코드에 대해 아무 것도 알지 못하는 경우 매크로 값도 교체됩니다. 상수는 실제로 변수입니다. 이 변수를 선언하면 메모리 단위를 차지합니다. 그러나 상수 유형 변수의 값을 직접 업데이트할 수는 없습니다. 포인터 값을 사용하여 변경할 수 있습니다. 때때로 프로그래머는 매크로를 사용하는 것이 메모리에 추가 공간을 차지하지 않기 때문에 const보다 낫다고 생각할 수 있지만 일부 우
우리는 때때로 문자열이 char s[]를 사용하여 만들어지거나 때로는 char *s를 사용하는 것을 보았습니다. 여기에서 차이점이 있는지 또는 동일한지 확인할 수 있습니다. 몇 가지 차이점이 있습니다. s[]는 배열이지만 *s는 포인터입니다. 예를 들어, 두 선언이 각각 char s[20] 및 char *s와 같으면 sizeof()를 사용하여 20과 4를 얻습니다. 첫 번째 선언은 20바이트가 있음을 보여주기 때문에 20이 됩니다. 데이터. 그러나 두 번째 것은 하나의 포인터 변수의 크기이므로 4만 표시됩니다. 배열의 경우 전체
C 또는 C++에서는 switch-case 문을 사용했습니다. switch 문에서 일부 값을 전달하고 다른 경우를 사용하여 값을 확인할 수 있습니다. 여기에서 case 문에서 범위를 사용할 수 있음을 알 수 있습니다. Case에서 범위를 사용하는 구문은 다음과 같습니다. - 낮음 ... 높음 대소문자를 쓴 후에는 더 낮은 값을 입력하고 한 칸, 세 개의 점, 다른 한 칸, 높은 값을 차례로 입력해야 합니다. 다음 프로그램에서 범위 기반 사례 설명의 출력이 무엇인지 확인할 것입니다. 예시 #include main() { int
일부 함수에 반환 유형이 없으면 반환 유형은 암시적으로 int가 됩니다. 반환 유형이 없으면 오류가 발생하지 않습니다. 단, C99 버전에서는 int일지라도 반환형을 생략할 수 없습니다. 예시 #include<stdio.h> my_function(int x) { return x * 2; } main(void) { printf("Value is: %d", my_function(10)); } 출력 Value is: 20
일부 응용 프로그램에서 일부 함수가 다른 함수 내부에서 선언되는 것을 보았습니다. 이것을 중첩 함수라고도 하지만 실제로는 중첩 함수가 아닙니다. 이를 어휘 범위 지정이라고 합니다. 컴파일러가 내부 함수의 정확한 메모리 위치에 도달할 수 없기 때문에 어휘 범위 지정은 C에서 유효하지 않습니다. 중첩 함수 정의는 주변 블록의 로컬 변수에 액세스할 수 없습니다. 전역 변수에만 액세스할 수 있습니다. C에는 두 개의 중첩 범위가 있습니다. 지역 및 전역. 따라서 중첩 기능은 사용이 제한적입니다. 아래와 같이 중첩된 함수를 생성하려고 하면
C에서는 두 가지 다른 방법으로 매개변수를 전달할 수 있습니다. 이것들은 값에 의한 호출과 주소에 의한 호출입니다. C++에서 우리는 또 다른 기술을 얻을 수 있습니다. 이것을 참조에 의한 호출이라고 합니다. 이들의 효과와 작동 방식을 살펴보겠습니다. 먼저 값에 의한 호출을 볼 것입니다. 이 기술에서 매개변수는 함수 인수에 복사됩니다. 따라서 일부 수정이 완료되면 실제 값이 아닌 복사된 값이 업데이트됩니다. 예시 #include <iostream> using namespace std; void my_swap(int x,
메모리 누수는 프로그래머가 이전에 할당한 메모리 조각일 때 발생합니다. 그러면 프로그래머에 의해 제대로 할당 해제되지 않습니다. 해당 메모리는 더 이상 프로그램에서 사용하지 않습니다. 그래서 그 장소는 아무 이유없이 예약되어 있습니다. 그래서 이것을 메모리 누수라고 합니다. 메모리 누수의 경우 일부 메모리 블록이 낭비되었을 수 있습니다. 시스템에 충분한 메모리가 있는 경우 이 경우에도 성능이 저하될 수 있습니다. 예시 void my_func() { int *data = new int;  
여기서 우리는 C 변수의 메모리 표현을 인쇄하는 방법을 볼 것입니다. 여기에 정수, 부동 소수점 및 포인터가 표시됩니다. 이 문제를 해결하려면 다음 단계를 따라야 합니다 - 변수의 주소와 크기 가져오기 바이트 주소를 얻기 위해 주소를 문자 포인터로 형변환 이제 변수의 크기를 반복하고 유형변환된 포인터의 값을 출력합니다. 예시 #include <stdio.h> typedef unsigned char *byte_pointer; //create byte pointer using char* void disp_bytes(by