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

    1. 함수 수준 정적 변수가 C/C++에서 언제 초기화됩니까?

      정적 변수는 static 키워드를 사용하여 정의할 수 있습니다. 프로그램이 실행되는 동안 메모리에 남아 있는 변수입니다. 즉, 수명은 전체 프로그램 실행입니다. 이것은 함수가 실행될 때만 메모리에 남아 있고 함수가 끝나면 소멸된다는 점에서 자동 변수와 다릅니다. 함수 수준의 정적 변수는 프로그램 로드 시 메모리가 할당되지만 처음 사용할 때 생성 및 초기화됩니다. C에서 함수 수준의 정적 변수를 보여주는 프로그램은 다음과 같습니다. - 예시 #include<stdio.h> int func() {    

    2. C에서 포인터와 배열의 차이점

      포인터와 배열의 차이점을 보여주는 자세한 내용은 다음과 같습니다. 포인터 포인터는 다른 변수의 주소를 저장하는 변수입니다. 메모리가 변수에 할당되면 포인터는 변수의 메모리 주소를 가리킵니다. 단항 연산자( * )는 포인터 변수를 선언하는 데 사용됩니다. 다음은 포인터 선언 구문입니다. datatype *variable_name; 여기서 datatype은 int, char, float 등과 같은 변수의 데이터형이고 variable_name은 사용자가 지정한 변수의 이름입니다. 포인터를 보여주는 프로그램은 다음과 같습니다. 예시

    3. C에서 2D 배열을 동적으로 할당하는 방법은 무엇입니까?

      2D 배열은 단일 포인터를 사용하여 C에서 동적으로 할당될 수 있습니다. 즉, row*column*dataTypeSize 크기의 메모리 블록이 malloc을 사용하여 할당되고 포인터 산술을 사용하여 행렬 요소에 액세스할 수 있습니다. 이를 보여주는 프로그램은 다음과 같습니다. 예 #include <stdio.h> #include <stdlib.h> int main() { int row = 2, col = 3; int *arr = (int *)malloc(row * col * sizeof(i

    4. C에서 2D 배열을 매개변수로 전달하는 방법은 무엇입니까?

      2차원 배열은 C의 함수에 매개변수로 쉽게 전달할 수 있습니다. 두 배열 차원이 전역적으로 지정될 때 이를 보여주는 프로그램은 다음과 같습니다. 예시 #include <stdio.h> const int R = 4; const int C = 3; void func(int a[R][C]) {    int i, j;    for (i = 0; i < R; i++)    for (j = 0; j < C; j++)    a[i][j] += 5; ;

    5. C에서 배열을 만드는 데 사용할 수 없는 데이터 유형

      배열은 int, char, float, double 등과 같은 모든 데이터 유형을 사용하여 생성할 수 있습니다. 그러나 void 데이터 유형을 사용하여 배열을 생성하는 것은 불가능합니다. 완료되면 오류가 표시됩니다. 이를 보여주는 프로그램은 다음과 같습니다. 예시 #include <stdio.h> #include <stdlib.h> int main() {    void arr1[4];    printf("A void array");    

    6. 여러 줄 C/C++에서 긴 문자열을 작성하는 방법은 무엇입니까?

      긴 문자열은 두 개의 큰따옴표( )를 사용하여 중간의 임의 지점에서 문자열을 끊으면 여러 줄로 작성할 수 있습니다. 이를 C에서 보여주는 프로그램은 다음과 같습니다. 예시 #include <stdio.h> int main() {    char *str = "This is the method "                "to write long strings "     &n

    7. C/C++에서 범위를 벗어난 배열 액세스

      Java와 같은 언어에서 java.lang.ArrayIndexOutOfBoundsException과 같은 예외 범위를 벗어나 배열에 액세스하는 경우 발생할 수 있습니다. 그러나 C에는 그러한 기능이 없으며 배열이 범위를 벗어나 액세스되면 정의되지 않은 동작이 발생할 수 있습니다. 이를 C에서 보여주는 프로그램은 다음과 같습니다. 예시 #include <stdio.h> int main() {    int arr[] = {1,2,3,4,5};    printf("The eleme

    8. C/C++에서 strncpy가 안전하지 않다고 가정하는 이유는 무엇입니까?

      strncpy() 함수는 지정된 수의 문자를 소스에서 대상으로 복사하는 데 사용됩니다. 다음은 strncpy()의 구문입니다. char *strncpy( char *destination, char *source, size_t n); 여기서 destination은 원본 문자열을 복사할 대상 배열에 대한 포인터이고, source는 복사할 문자열이며 n은 원본 문자열에서 복사할 최대 문자 수입니다. strncpy() 함수는 소스 문자열의 처음 n개 문자에서 NULL 문자를 사용할 수 없으면 대상 문자열이 NULL로 종료되지 않기 때

    9. C/C++에서 배열 인덱스가 0부터 시작하는 이유는 무엇입니까?

      배열 arr[i]는 *(arr+i)로 해석됩니다. 여기서 arr은 첫 번째 배열 요소 또는 0 인덱스 요소의 주소를 나타냅니다. 따라서 *(arr+i)는 배열의 첫 번째 요소에서 i 거리에 있는 요소를 의미합니다. 따라서 배열 인덱스는 처음에 i가 배열의 첫 번째 요소를 의미하는 0이므로 0에서 시작합니다. 이를 C++로 보여주는 프로그램은 다음과 같다. 예시 #include <iostream> using namespace std; int main() {    int arr[] = {5,8,9,3,5}

    10. C 조건문을 사용하지 않고 “짝수” 또는 “홀수”를 출력하는 프로그램

      이 섹션에서는 (<, =, ==)와 같은 조건문을 사용하지 않고 숫자가 홀수인지 짝수인지 확인하는 방법을 볼 것입니다. 조건문을 사용하여 홀수 또는 짝수를 쉽게 확인할 수 있습니다. 숫자를 2로 나눈 다음 나머지가 0인지 확인할 수 있습니다. 0이면 짝수입니다. 그렇지 않으면 숫자와 1로 AND 연산을 수행할 수 있습니다. 답이 0이면 짝수이고 그렇지 않으면 홀수입니다. 여기에서는 조건문을 사용할 수 없습니다. 홀수 또는 짝수를 확인하는 두 가지 다른 방법이 있습니다. 방법 1 여기서 우리는 문자열 배열을 생성할 것입니다. 인

    11. 루프를 사용하지 않고 1부터 100까지의 숫자를 출력하는 프로그램

      여기서는 루프를 사용하지 않고 1에서 100까지의 숫자를 인쇄할 수 있는 C 프로그램을 작성하는 방법을 볼 것입니다. 이 문제는 재귀를 사용하여 해결할 수 있습니다. 재귀적으로 호출되는 함수를 만들 것입니다. 재귀 함수에는 기본적으로 두 개의 섹션이 있다는 것을 알고 있습니다. 기본 케이스와 재귀 호출 및 기타 작업. 이 함수에서 기본 케이스는 인수 n이 1보다 큽니다. 1에 도달할 때까지 함수는 재귀적으로 호출됩니다. 이제 마지막에 n의 값을 인쇄합니다. 따라서 전체 시스템에서 숫자를 생성합니다. 예시 코드 #include 1)

    12. C “Hello World!”를 출력하는 프로그램 세미콜론을 사용하지 않고

      세미콜론을 사용하지 않고 Hello World라는 텍스트를 인쇄할 수 있는 C 프로그램을 작성하는 방법을 살펴보겠습니다. printf(Hello World); 줄을 사용하여 간단히 텍스트를 작성할 수 있습니다. main() 함수에서. 그러나 줄 끝에 세미콜론이 있습니다. 세미콜론을 피하기 위해 몇 가지 트릭을 따를 수 있습니다. if 조건 내에서 동일한 printf() 문을 사용할 수 있습니다. printf() 문이 텍스트의 길이를 반환하므로 값이 0이 아니므로 if 문이 true가 됩니다. 따라서 텍스트가 화면에 기록됩니다.

    13. Ctrl+C를 눌러도 종료되지 않는 C 프로그램 작성

      이 섹션에서는 Ctrl + C 키로 종료할 수 없는 프로그램을 C로 작성하는 방법을 살펴보겠습니다. Ctrl + C는 키보드 인터럽트를 생성하고 현재 프로세스의 실행을 중지합니다. 여기서 Ctrl + C 키를 누르면 메시지가 인쇄되고 실행이 계속됩니다. 이 기능을 사용하기 위해 C에서 신호 처리 기술을 사용할 것입니다. Ctrl + C를 누르면 SIGINT 신호가 생성됩니다. 다음 목록에는 다른 신호와 기능이 있습니다. 신호 설명 SIGABRT 비정상 종료를 나타냅니다. SIGFPE 부동 소수점 예외를 나

    14. 형식 지정자를 사용하지 않고 문자를 인쇄하는 C 프로그램

      이 기사에서는 형식 지정자를 사용하지 않고 일부 문자를 인쇄하는 방법을 볼 것입니다. C에서 형식 지정자는 %d, %f, %c 등입니다. 이들은 printf() 함수를 사용하여 C에서 문자와 숫자를 인쇄하는 데 사용됩니다. 여기에서는 %c 형식 지정자를 사용하지 않고 문자를 인쇄하는 또 다른 방법을 볼 수 있습니다. 이것은 ASCII 값을 16진수 형식으로 직접 입력하여 수행할 수 있습니다. 예시 코드 #include <stdio.h> main () { printf("\x41 \n"); //41

    15. C IP 주소를 확인하는 프로그램

      이 프로그램에서는 C를 사용하여 IP 주소를 확인하는 방법을 볼 것입니다. IPv4 주소는 점-10진수 표기법으로 표시됩니다. 4개의 10진수가 있습니다(모두 0에서 255 사이). 이 네 개의 숫자는 세 개의 점으로 구분됩니다. 유효한 IP의 예:192.168.4.1 IP 주소를 확인하려면 다음 단계를 따라야 합니다. 점 .을 사용하여 문자열(IP 주소)을 토큰화합니다. 구분자 하위 문자열에 숫자가 아닌 문자가 포함되어 있으면 false를 반환합니다. 각 토큰의 숫자가 0에서 255 사이가 아니면 false를

    16. PGM 형식으로 이미지를 작성하는 C 프로그램

      PGM은 휴대용 회색 지도입니다. C에서 2차원 배열을 PNG, JPEG 또는 기타 이미지 형식의 이미지로 저장하려면 파일에 쓰기 전에 데이터를 특정 형식으로 인코딩하기 위해 많은 작업을 해야 합니다. Netpbm 형식은 쉽고 휴대 가능한 솔루션을 제공합니다. Netpbm은 그래픽 프로그램의 오픈 소스 패키지이며 기본적으로 Linux 또는 Unix 플랫폼에서 사용됩니다. Microsoft Windows 시스템에서도 작동합니다. 각 파일은 2바이트 매직 넘버로 시작합니다. 이 매직 넘버는 파일 유형을 식별하는 데 사용됩니다. 유형

    17. 현재 시간으로 디지털 시계를 인쇄하는 C 프로그램

      이 섹션에서는 C를 사용하여 디지털 시계를 만드는 방법을 볼 것입니다. 시간으로 작업하려면 time.h 헤더 파일을 사용할 수 있습니다. 이 헤더 파일에는 날짜 및 시간 관련 문제를 처리하는 데 사용되는 몇 가지 함수 서명이 있습니다. time.h의 네 가지 중요한 구성 요소는 다음과 같습니다. 크기_t 이 size_t는 기본적으로 부호 없는 정수 유형입니다. sizeof()의 결과입니다. 시계_t 이것은 프로세서 시간을 저장하는 데 사용됩니다. 시간_t 달력 시간을 저장하는 데 사용됩니다. 구조체 이것은 구

    18. C 속이 빈 피라미드와 다이아몬드 패턴을 인쇄하는 프로그램

      여기에서 C를 사용하여 속이 빈 피라미드와 다이아몬드 패턴을 생성하는 방법을 볼 것입니다. 솔리드 피라미드 패턴을 매우 쉽게 생성할 수 있습니다. 속을 비우려면 몇 가지 트릭을 추가해야 합니다. 중공 피라미드 피라미드의 경우 첫 번째 줄에 별 하나가 인쇄되고 마지막 줄에는 n개의 별이 인쇄됩니다. 다른 줄의 경우 줄의 시작과 끝에 정확히 두 개의 별이 인쇄되며 이 두 시작 사이에 약간의 공백이 있습니다. 예시 코드 #include <stdio.h> int main() {    int n, i, j; &

    19. C 호스트 이름과 IP 주소를 표시하는 프로그램

      이 섹션에서는 로컬 시스템의 호스트 이름과 IP 주소를 보다 쉽게 ​​보는 방법을 살펴보겠습니다. 호스트 이름과 IP를 찾는 C 프로그램을 작성합니다. 다음 기능 중 일부가 사용됩니다. 이러한 기능에는 다른 작업이 있습니다. 기능과 작업을 살펴보겠습니다. 함수 설명 gethostname() 로컬 컴퓨터의 표준 호스트 이름을 찾습니다. gethostbyname() 호스트 데이터베이스에서 호스트 이름에 해당하는 호스트 정보를 찾습니다. iten_ntoa() IPv4 인터넷 네트워크 주소를 ASCII 문자열을 점분리 10진수 형

    20. 구조체의 sizeof가 C/C++에서 각 멤버의 sizeof 합계와 같지 않은 이유는 무엇입니까?

      sizeof()에 의해 취해진 구조체 유형 요소의 크기는 각 개별 멤버의 크기와 항상 같지는 않습니다. 때때로 컴파일러는 정렬 문제를 피하기 위해 패딩을 추가합니다. 따라서 크기가 변경될 수 있습니다. 패딩은 구조체 멤버 다음에 더 큰 크기의 멤버가 오거나 구조체의 끝에 추가될 때 추가됩니다. 컴파일러마다 다른 유형의 정렬 제약 조건이 있습니다. C 표준에서 전체 정렬 구조는 구현에 따라 다릅니다. 사례 1 이 경우 double z는 8바이트로 x(4바이트)보다 큽니다. 그래서 또 다른 4바이트 패딩이 추가됩니다. 또한 짧은 유형

    Total 1436 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:8/72  20-컴퓨터/Page Goto:1 2 3 4 5 6 7 8 9 10 11 12 13 14