Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍
  • C 프로그래밍
  •   
  • C++
  •   
  • Redis
  •   
  • BASH 프로그래밍
  •   
  • Python
  •   
  • Java
  •   
  • 데이터 베이스
  •   
  • HTML
  •   
  • JavaScript
  •   
  • 프로그램 작성
  •   
  • CSS
  •   
  • Ruby
  •   
  • SQL
  •   
  • IOS
  •   
  • Android
  •   
  • MongoDB
  •   
  • MySQL
  •   
  • C#
  •   
  • PHP
  •   
  • SQL Server
  • C 프로그래밍

    1. C에서 자신의 sizeof를 구현하는 방법

      sizeof()를 사용하기 위해 변수 x를 사용하여 값을 취할 수 있고 &x를 사용하여 주소를 인쇄합니다. 이제 &x의 값을 증가시키면 다른 방식으로 증가할 수 있습니다. 한 바이트만 증가하면 문자, 증가된 값이 4이면 int 또는 float 등입니다. 따라서 &x + 1과 &x의 차이를 취하면 x의 크기를 얻을 수 있습니다. 여기서는 데이터 유형이 함수에 정의되어 있지 않으므로 매크로를 사용합니다. 그리고 한 가지 더, 우리는 (char*)를 사용하여 캐스팅하므로 해당 위치에 얼마나 많은 문자 유형 데이터를 배치할 수 있는지 알

    2. C에서 부동 소수점 숫자의 세트 비트를 계산하는 방법은 무엇입니까?

      이 문제에서는 하나의 부동 소수점 값이 제공됩니다. 바이너리 표현에서 세트 비트 수를 찾아야 합니다. 예를 들어, 부동 소수점 숫자가 0.15625이면 6개의 세트 비트가 있습니다. 일반적인 C 컴파일러는 단정밀도 부동 소수점 표현을 사용했습니다. 그러면 다음과 같이 보일 것입니다. 비트 값으로 변환하려면 숫자를 하나의 포인터 변수로 가져와 char* 유형 데이터에 대한 포인터를 형변환해야 합니다. 그런 다음 각 바이트를 하나씩 처리합니다. 그런 다음 각 문자의 세트 비트를 계산할 수 있습니다. 예시 #include <

    3. putchar()만 사용하여 C에서 long int 인쇄

      여기서 우리는 C에서 putchar() 함수를 사용하여 long int 값을 인쇄하는 방법을 볼 것입니다. 우리는 C에서 printf()를 사용하여 일부 변수의 값을 쉽게 인쇄할 수 있지만 여기서 제한 사항은 putchar( ). 우리가 알고 있듯이 putchar()는 문자만 인쇄하는 데 사용됩니다. 이 함수를 사용하여 숫자의 각 자릿수를 인쇄할 수 있습니다. 하나의 숫자 값이 전달되면 ASCII 형식을 얻기 위해 0 문자를 추가해야 합니다. 더 나은 아이디어를 얻기 위해 코드를 살펴보겠습니다. 예시 #include <std

    4. main() 없이 실행 중인 C 코드를 작성하는 방법은 무엇입니까?

      여기서 우리는 하나의 프로그램을 main 없이 작성할 수 있는지 알 수 있습니다. 대답은 예입니다. main() 함수가 없는 프로그램을 작성할 수 있습니다. 많은 곳에서 우리는 main()이 프로그램 실행의 진입점임을 보았습니다. 프로그래머의 관점에서 이것은 사실입니다. 시스템의 관점에서 그것은 사실이 아닙니다. 따라서 시스템은 처음에 _start()를 호출하고 환경을 설정한 다음 main이 호출됩니다. 이 프로그램을 실행하려면 -nostartfiles 옵션을 사용해야 합니다. 예시 #include extern void _exi

    5. C로 자신의 memcpy() 작성

      여기에서 C에서 memcpy() 함수를 구현하는 방법을 볼 것입니다. memcpy() 함수는 한 위치에서 다른 위치로 데이터 블록을 복사하는 데 사용됩니다. memcpy()의 구문은 다음과 같습니다 - void * memcpy(void * dest, const void * srd, size_t num); 자체 memcpy를 만들려면 주어진 주소를 char*로 유형 변환한 다음 소스에서 대상으로 바이트 단위로 데이터를 복사해야 합니다. 더 나은 아이디어를 얻으려면 다음 코드를 살펴보세요. 예시 #include<stdio.h&g

    6. C에서 bool 사용

      C에는 bool과 같은 사전 정의된 데이터 유형이 없습니다. enum을 사용하여 bool을 생성할 수 있습니다. 하나의 열거형은 bool로 생성된 다음 false를 넣고 열거형의 요소로 true를 넣습니다. false는 첫 번째 위치에 있으므로 0을 유지하고 true는 두 번째 위치에 있으므로 값 1을 얻습니다. 이제 이것을 데이터 유형으로 사용할 수 있습니다. 예시 #include<stdio.h> typedef enum {    F, T } boolean; main() {    boo

    7. C 프로그래밍에 대한 흥미로운 사실

      여기에서 우리는 C 프로그래밍에 대한 몇 가지 흥미로운 사실을 볼 것입니다. 아래와 같습니다. 때때로 일부 switch 문의 case 레이블은 if-else 문 안에 배치될 수 있습니다. 예시 #include <stdio.h> main() {    int x = 2, y = 2;    switch(x) {       case 1:          ;          i

    8. C/C++의 nextafter() 및 nexttoward()

      여기에서 C 또는 C++에서 nextafter() 및 nextforward() 함수의 효과를 볼 수 있습니다. 이러한 함수는 math.h 또는 cmath 라이브러리에 있습니다. 함수가 nextafter(a, b) 및 nextforward(a, b)와 같은 경우. 이 함수는 b 방향에서 다음으로 표현할 수 있는 값을 찾는 데 사용됩니다. nextforward()에는 더 정확한 두 번째 매개변수 b가 있습니다. 예시 #include <stdio.h> #include <math.h> main () {  

    9. C의 pthread_cancel()

      threa_cancel()은 스레드 ID로 하나의 특정 스레드를 취소하는 데 사용됩니다. 이 함수는 종료를 위해 스레드에 하나의 취소 요청을 보냅니다. pthread_cancel()의 구문은 다음과 같습니다 - int pthread_cancel(pthread_t th); 이제 이 함수를 사용하여 스레드를 취소하는 방법을 살펴보겠습니다. 예시 #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <pthread.h>

    10. C의 pthread_equal()

      pthread_equal() 함수는 두 스레드가 동일한지 여부를 확인하는 데 사용됩니다. 0 또는 0이 아닌 값을 반환합니다. 동일한 스레드의 경우 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다. 이 함수의 구문은 다음과 같습니다. - int pthread_equal (pthread_t th1, pthread_t th2); 이제 pthread_equal()이 작동하는 것을 보겠습니다. 첫 번째 경우에는 self-thread를 확인하여 결과를 확인합니다. 예시 #include <stdio.h> #include &

    11. C의 pthread_self()

      여기서 우리는 C에서 pthread_self()의 효과가 무엇인지 볼 것입니다. pthread_self() 함수는 현재 스레드의 ID를 가져오는 데 사용됩니다. 이 기능은 기존 스레드를 고유하게 식별할 수 있습니다. 그러나 스레드가 여러 개 있고 하나의 스레드가 완료되면 해당 ID를 재사용할 수 있습니다. 따라서 실행 중인 모든 스레드에 대해 ID는 고유합니다. 예시 #include <stdio.h> #include <stdlib.h> #include <pthread.h> void* func(void

    12. C에서 fork()와 exec()의 차이점

      여기에서 C에서 fork() 및 exec() 시스템 호출의 효과를 볼 수 있습니다. fork는 호출 프로세스를 복제하여 새 프로세스를 생성하는 데 사용됩니다. 새 프로세스는 자식 프로세스입니다. 다음 속성을 참조하십시오. 하위 프로세스에는 고유한 프로세스 ID가 있습니다. 하위 프로세스의 상위 프로세스 ID는 호출 프로세스의 프로세스 ID와 동일합니다. 자식 프로세스는 부모의 메모리 잠금 및 세마포어를 상속하지 않습니다. fork()는 자식 프로세스의 PID를 반환합니다. 값이 0이 아니면 부모 프로세스의 id이고, 0이면 자

    13. C와 C++ 간의 비호환성

      여기에서 우리는 C와 C++ 사이의 몇 가지 비호환성을 보게 될 것입니다. C 컴파일러를 사용하여 컴파일할 수 있지만 C++ 컴파일러에서는 컴파일되지 않는 일부 C 코드. 또한 오류를 반환합니다. 선택적으로 인수 목록 뒤에 인수 유형을 지정하는 구문을 사용하여 함수를 정의할 수 있습니다. 예시 #include<stdio.h> void my_function(x, y)int x;int y; { // Not valid in C++    printf("x = %d, y = %d", x, y

    14. C의 위생적 매크로

      여기에서 C의 Hygienic Macros를 볼 수 있습니다. 우리는 C의 매크로 사용법을 알고 있습니다. 그러나 때로는 실수로 식별자를 캡처하여 원하는 결과를 반환하지 않는 경우가 있습니다. 다음 코드를 보면 제대로 동작하지 않는 것을 알 수 있습니다. 예시 #include<stdio.h> #define INCREMENT(i) do { int a = 0; ++i; } while(0) main(void) {    int a = 10, b = 20;    //Call the macros

    15. 기본 데이터 유형과 파생 데이터 유형의 차이점

      여기서 우리는 C 또는 C++에서 기본 데이터 유형과 파생 데이터 유형 간의 기본적인 차이점이 무엇인지 확인할 것입니다. 기본 데이터 유형 파생 데이터 유형 기본 데이터 유형은 기본 데이터 유형이라고도 합니다. 파생 데이터 유형은 기본 데이터 유형으로 구성됩니다. 일부 기본 데이터 유형은 int, char, float, void 등입니다. 파생 데이터 유형은 배열, 구조, 포인터 등입니다. 정수 또는 문자 데이터 유형은 int, char, signed int, singned char, unsigned int, unsigned

    16. C에서 FILE의 데이터 유형은 무엇입니까?

      C에서는 파일을 사용했습니다. 파일을 처리하기 위해 FILE 유형의 포인터를 사용합니다. 따라서 FILE은 데이터 유형입니다. 이것을 불투명 데이터 유형이라고 합니다. 따라서 구현이 숨겨져 있습니다. FILE의 정의는 시스템에 따라 다릅니다. 이것은 Ubuntu 시스템의 FILE 정의입니다 - 파일 정의 struct _IO_FILE {    int _flags; /* High-order word is _IO_MAGIC; rest is flags. */    #define _IO_file_flags

    17. 스레드 동기화를 사용하여 순서대로 숫자 인쇄

      여기에서 다른 스레드를 사용하여 올바른 순서로 숫자를 인쇄하는 방법을 볼 것입니다. 여기에서 n개의 스레드를 생성한 다음 동기화합니다. 아이디어는 첫 번째 스레드가 1을 인쇄하고 두 번째 스레드가 2를 인쇄하는 식입니다. 한 스레드가 인쇄를 시도하면 리소스가 잠기므로 스레드가 해당 부분을 사용할 수 없습니다. 예시 #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> pthread_mutex_t mut

    18. C에서 멀티스레딩을 사용한 선형 검색

      여기에서는 배열의 한 요소를 검색하기 위해 다중 스레딩 개념을 적용하는 방법을 살펴보겠습니다. 여기서 접근 방식은 매우 간단합니다. 스레드를 생성한 다음 배열을 여러 부분으로 나눕니다. 다른 스레드는 다른 부분에서 검색합니다. 그런 다음 요소가 발견되면 플래그를 활성화하여 이를 식별합니다. 예시 #include <stdio.h> #include <pthread.h> #define MAX 16 #define THREAD_MAX 4 int array[MAX] = { 1, 5, 7, 10, 12, 14, 15, 18

    19. C에서 엄격한 앨리어싱이 필요한 이유는 무엇입니까?

      여기에서 C에서 엄격한 앨리어싱을 사용해야 하는 이유를 알 수 있습니다. 해당 부분을 논의하기 전에 하나의 코드를 보고 출력을 분석해 보겠습니다. 예시 #include<stdio.h> int temp = 5; int* var = &temp; int my_function(double* var) {    temp = 1;    *var = 5.10; //thi

    20. C에서 크리스마스 트리를 위한 프로그램

      여기서 우리는 한 가지 흥미로운 문제를 보게 될 것입니다. 이번 문제에서는 무작위로 크리스마스 트리를 출력하는 방법을 알아보겠습니다. 따라서 트리는 크리스마스 트리 조명처럼 깜박일 것입니다. 크리스마스 트리를 인쇄하기 위해 다양한 크기의 피라미드를 하나씩 인쇄합니다. 장식용 잎의 경우 주어진 문자 목록에서 임의의 문자가 인쇄됩니다. 높이와 임의성을 조정할 수 있습니다. 여기에서 나무를 생성한 후 전체 화면을 지우고 다시 생성하기 때문에 깜박거리는 나무처럼 보입니다. 예 #include <stdio.h> #include

    Total 1436 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:16/72  20-컴퓨터/Page Goto:1 10 11 12 13 14 15 16 17 18 19 20 21 22