Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 프로그래밍

  1. C 언어의 범위(Scope) 규칙 총정리 – 전역 변수와 지역 변수의 차이

    C 언어에서 범위(scope)란 프로그램 내에서 특정 식별자나 변수에 직접 접근할 수 있는 영역을 의미합니다. 즉, 변수를 어디에 선언했느냐에 따라 해당 변수를 참조할 수 있는 위치와 유효 기간이 결정됩니다. C 언어의 범위 규칙은 크게 두 가지로 분류할 수 있습니다. 전역 변수(Global Variable) 지역 변수(Local Variable) 전역 변수(Global Variables) 전역 변수는 프로그램 내 어떤 함수에도 속하지 않는 외부 영역에서 선언·정의되는 변수입니다. 전역 변수는 프로그램이 시작될 때 생성되어 종

  2. C 언어 register 키워드 완벽 정리 – 레지스터 변수의 개념과 사용법

    register 키워드는 컴파일러에게 해당 변수를 메모리가 아닌 CPU 레지스터에 저장하도록 지시하는 역할을 합니다. 자주 접근하는 변수를 레지스터에 두면 메모리보다 훨씬 빠른 속도로 값을 읽고 쓸 수 있습니다. 다만 레지스터 변수는 메모리상의 주소를 갖지 않기 때문에 주소 연산자(&)로 그 주소를 구할 수 없다는 점에 유의해야 합니다. register 변수의 주요 특징 범위(Scope) – 변수가 선언된 함수 내부에서만 유효한 지역 변수입니다. 기본값(Default Value) – 별도로 초기화하지 않으면 예측할 수 없는

  3. C 언어 문자열 출력: puts() vs printf() 완벽 비교

    개요C 언어에서 puts()와 printf()는 모두 stdio.h 헤더 파일에 선언되어 있으며, 텍스트를 출력 스트림(output stream)으로 보내는 데 사용됩니다. 두 함수는 비슷한 목적을 가지고 있지만, 사용 방법과 문법, 내부 동작 방식에서 뚜렷한 차이가 있습니다.puts() 함수란?puts()는 문자열을 출력 스트림에 출력한 후, 자동으로 개행 문자 \n을 추가하는 함수입니다. 따라서 출력이 끝나면 커서가 자동으로 다음 줄로 이동합니다. 형식 지정자(format specifier)를 파싱하지 않기 때문에 printf(

  4. C언어 printf()에서 %n 형식 지정자의 용도와 사용법

    C 언어에서 %n은 매우 특별한 형식 지정자(format specifier)입니다. 일반적인 형식 지정자와 달리 화면에 무언가를 출력하는 대신, 대응되는 인수가 가리키는 변수에 값을 저장합니다.이때 저장되는 값은 %n이 등장하기 전까지 printf()가 출력한 문자의 총 개수입니다.%n 사용 시 주의사항%n 자체는 아무것도 출력하지 않습니다. 따라서 실제 문장을 화면에 표시하려면 별도의 printf() 함수 호출이 필요합니다.예제 코드#include<stdio.h> int main() { int s; pri

  5. C언어 printf()에서 % 기호를 출력하는 방법

    C 언어에서 printf() 함수는 일반적으로 텍스트와 변수 값을 함께 출력할 때 사용됩니다. 그런데 출력하려는 문장에 % 기호 자체를 포함시키려면 특별한 주의가 필요합니다. 형식 문자열 안에서 %는 %d, %s 같은 서식 지정자의 시작을 알리는 특수 문자로 해석되기 때문입니다. 따라서 %를 문자열이나 텍스트 그대로 출력하려면 %%처럼 두 번 연속해서 작성해야 합니다. % 하나만 단독으로 사용하면 아무것도 출력되지 않으며, 컴파일러에 따라 오류나 경고조차 나타나지 않는 미정의 동작(undefined behavior)이 발생할 수 있

  6. C 언어의 printf(), sprintf(), fprintf() 함수 차이점과 사용법 완벽 정리

    C 언어에서 표준 입출력 라이브러리(stdio.h)는 다양한 출력 함수를 제공합니다. 그중 가장 많이 사용되는 세 가지 함수인 printf(), sprintf(), fprintf()는 비슷해 보이지만 각각 용도와 동작 방식이 다릅니다. 이 글에서는 세 함수의 문법, 예제 코드, 그리고 핵심적인 차이점까지 자세히 알아보겠습니다. 1. printf() 함수 printf() 함수는 화면(표준 출력)에 메시지와 변수의 값을 함께 출력할 때 사용되는 가장 기본적인 출력 함수입니다. 문법 printf(const char *str, ...);

  7. C언어 getc(), getchar(), getch(), getche() 함수의 차이점 총정리

    C언어에는 키보드나 입력 스트림으로부터 문자 하나를 읽어오는 다양한 함수들이 있습니다. 이 함수들은 모두 읽어온 문자를 정수형 값으로 반환하며, 파일의 끝에 도달하거나 오류가 발생하면 EOF(-1)를 반환합니다. 다만 각 함수마다 입력 대상과 동작 방식이 다르므로, 상황에 맞는 함수를 선택하는 것이 중요합니다. 지금부터 네 가지 함수를 하나씩 자세히 살펴보겠습니다. 1. getc() 함수 getc()는 지정된 입력 스트림(FILE 스트림)으로부터 문자 하나를 읽어 정수 값으로 반환합니다. 읽기에 실패하거나 파일의 끝에 도달하면 E

  8. C/C++ strcpy() 함수 완벽 가이드: 문자열 복사의 기본부터 예제까지

    strcpy()는 표준 라이브러리 함수로, 한 문자열을 다른 문자열로 복사할 때 사용됩니다. C 언어에서는 string.h 헤더 파일에 선언되어 있고, C++에서는 cstring 헤더 파일에 선언되어 있습니다. 이 함수는 복사가 완료된 후 목적지(dest) 문자열의 포인터를 반환합니다. strcpy() 함수의 문법 char* strcpy(char* dest, const char* src); dest: 복사된 문자열이 저장될 목적지 버퍼입니다. src: 복사할 원본 문자열입니다. strcpy()의 주요 특징 원본 문자열 전체를

  9. C/C++ strcmp() 함수 완벽 가이드: 문자열 비교 원리와 반환값 이해하기

    strcmp() 함수란?strcmp() 함수는 C 언어 표준 라이브러리에 포함된 내장 함수로, string.h 헤더 파일에 선언되어 있습니다. 이 함수는 두 개의 문자열 인자를 비교하는 데 사용되며, 사전순(lexicographical order)으로 비교를 수행합니다. 즉, 두 문자열을 문자 단위로 하나씩 비교하며, 첫 번째 문자부터 시작해 두 문자가 서로 다르거나 NULL 문자(\0)를 만날 때까지 비교를 계속 진행합니다.두 문자열의 첫 번째 문자가 같다면 함수는 두 번째 문자를 검사하고, 그래도 같으면 세 번째 문자를 검사하는

  10. C 언어 float와 double 자료형 완벽 가이드: 차이점과 사용법

    float 자료형이란? float는 부동소수점 수(실수)를 표현하기 위해 사용되는 자료형입니다. float는 32비트 IEEE 754 단정밀도(single precision) 부동소수점 형식을 따르며, 1비트는 부호, 8비트는 지수, 나머지 23비트는 가수 값을 저장하는 데 사용됩니다. float가 표현할 수 있는 정밀도는 소수점 이하 약 6자리입니다. C 언어에서 float 변수를 선언하는 기본 문법은 다음과 같습니다. float variable_name; 다음은 C 언어에서 float를 활용한 간단한 예제입니다. 예제 #inc

  11. C/C++ goto 문 완벽 정리: 개념, 문법, 예제와 사용 시 주의점

    goto 문은 C와 C++에서 제공하는 점프문(jump statement)입니다. 함수 내부에서 실행 흐름을 특정 레이블(label)이 붙은 다른 문장으로 즉시 이동시키는 역할을 합니다.goto 문이란?goto 문은 함수 안에서 한 문장에서 다른 문장으로 프로그램의 제어를 무조건적으로 옮기는 무조건 분기(unconditional jump) 문입니다. 하지만 이 문의 사용은 대부분의 프로그래밍 전문가들에 의해 강력히 권장되지 않습니다. 그 이유는 다음과 같습니다.프로그램의 구조를 복잡하게 만들어 코드 가독성을 크게 떨어뜨립니다.제어

  12. C/C++ continue 문 완벽 정리 – 반복문 흐름 제어하기

    continue 문이란? continue 문은 C/C++에서 사용되는 반복문 제어문(loop control statement)입니다. 현재 진행 중인 반복(iteration)을 즉시 중단하고 다음 반복을 실행하도록 만드는 역할을 합니다. break 문이 반복문 자체를 완전히 종료하는 것과 달리, continue 문은 반복문을 유지한 채 해당 차례만 건너뛴다는 점에서 정반대로 작동합니다. continue 문의 동작 방식 continue가 실행되면 그 아래에 위치한 코드들은 모두 건너뛰어집니다. for 문에서는 증감식으로, whil

  13. C/C++ break 문 완벽 가이드: 반복문 제어의 핵심

    break 문은 C 언어에서 루프(반복문)의 실행 흐름을 제어하는 중요한 문법입니다. 주로 while, for, do-while 같은 반복문을 강제로 종료할 때 사용되며, switch 문에서 특정 case의 실행을 끝내는 용도로도 활용됩니다. break 문이란? break 문은 프로그램 실행 중 해당 문장을 만나는 순간 즉시 반복문을 탈출합니다. 이후 프로그램은 반복문 바로 아래에 있는 다음 문장부터 계속 실행됩니다. 조건과 관계없이 반복문을 중간에 빠져나와야 하는 상황에서 매우 유용합니다. 기본 문법 break; break 문은

  14. C 언어 While 루프 완벽 이해: For 루프와의 비교

    For 루프란?for 루프는 대표적인 반복 제어 구조로, 정해진 횟수만큼 문장을 실행합니다. 먼저 반복이 시작되는 지점인 초기값을 설정하고, 다음으로 참(true) 또는 거짓(false)을 판별하는 조건식을 검사합니다. 마지막으로 증감 연산을 통해 루프 변수를 갱신하며 다음 반복으로 넘어갑니다.C 언어에서 for 루프의 기본 문법은 다음과 같습니다.for ( init; condition; increment ) {    statement(s); }다음은 C 언어에서 for 루프를 활용한 예제입니다.예제#include

  15. C 언어에서 문자열을 대문자로 변환하는 방법

    C 언어에서는 ASCII 코드의 특성을 활용하면 별도의 라이브러리 함수 없이도 문자열을 손쉽게 대문자로 변환할 수 있습니다. 아래는 사용자가 입력한 문자열을 모두 대문자로 바꾸어 출력하는 프로그램 예제입니다.예제 코드#include <stdio.h> #include <string.h> int main() { char s[100]; int i; printf(\nEnter a string : ); gets(s); for (i = 0; s[i]!=\0; i++) {

  16. C 언어 배열(Array) 완전 정복: 개념, 문법, 초기화와 실습 예제

    C 언어 배열이란?배열(Array)은 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는 자료구조입니다. 메모리상에서 가장 낮은 주소가 첫 번째 요소에 해당하며, 가장 높은 주소가 마지막 요소에 해당합니다.배열 인덱스의 기본 규칙배열의 인덱스는 0부터 시작해서 배열 크기 - 1로 끝납니다. 따라서 배열의 크기는 반드시 0보다 큰 정수여야 합니다.배열 크기 = 10일 경우첫 번째 인덱스 = 0마지막 인덱스 = 배열 크기 - 1 = 10 - 1 = 9C 언어에서 배열 선언하기C 언어에서 배열을 선언하는 기본 문법은 다음과 같습

  17. C 언어 문자열 기초: 선언, 초기화부터 주요 함수까지

    C 언어에서 문자열(string)은 널(null) 문자(\0)로 끝나는 문자들의 배열입니다. 여기서 중요한 점은 널 문자를 사용자가 직접 입력하는 것이 아니라, 컴파일러가 문자열의 끝에 자동으로 추가한다는 것입니다.배열과 문자열의 차이배열과 문자열의 차이는 널 문자의 유무입니다. 일반적인 배열의 경우 컴파일러가 마지막에 널 문자를 붙이지 않지만, 문자열은 컴파일러가 자동으로 널 문자를 추가하여 문자열의 끝을 표시합니다.문자열 선언 방법C 언어에서 문자열을 선언하는 기본 문법은 다음과 같습니다.char myStr[size];각 구성

  18. C/C++에서 열거형(Enum)을 사용하는 방법 완벽 정리

    열거형(Enum)이란?열거형(Enumeration)은 C 언어에서 사용자가 직접 정의할 수 있는 데이터 타입입니다. 열거형은 정수 상수에 의미 있는 이름을 부여하여 프로그램의 가독성을 높이고 유지보수를 쉽게 만들어 줍니다. 요일이나 월처럼 서로 연관된 상수들을 하나의 그룹으로 묶어 관리할 때 특히 유용합니다.열거형을 선언할 때는 enum 키워드를 사용합니다.열거형 선언 문법다음은 C 언어에서 열거형을 선언하는 기본 문법입니다.enum enum_name{const1, const2, ....... };열거형 변수 정의 방법enum 키워

  19. C/C++의 iswlower() 함수 – 와이드 문자 소문자 판별하기

    iswlower() 함수란?iswlower() 함수는 C/C++의 표준 라이브러리에 포함된 내장 함수로, 전달받은 와이드 문자(wide character)가 소문자인지 아닌지를 판별합니다.이 함수는 사용하는 언어에 따라 선언 위치가 다릅니다.C++: <cwctype> 헤더 파일에 선언됨C: <ctype.h> 헤더 파일에 선언됨동작 방식 및 반환값iswlower() 함수는 와이드 문자 하나를 매개변수로 받아 다음과 같은 결과를 반환합니다.문자가 소문자가 아니면 → 0(영) 반환문자가 소문자이면 → 0이 아닌 값(

  20. C/C++ towupper() 함수 – 와이드 문자를 대문자로 변환하는 방법

    C/C++ towupper() 함수란?towupper() 함수는 C/C++ 표준 라이브러리에 내장된 함수로, 와이드 문자(wide character)를 대문자로 변환하는 역할을 합니다. C++ 언어에서는 <cwctype> 헤더 파일에 선언되어 있으며, C 언어에서는 <wctype.h>(또는 <ctype.h>) 헤더 파일에 선언되어 있습니다.이 함수는 변환할 하나의 와이드 문자를 인수로 전달받습니다. 전달된 문자가 소문자라면 해당하는 대문자로 변환하여 반환하고, 이미 대문자이거나 대문자로 변환할 수 없

Total 1443 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:3/73  20-컴퓨터/Page Goto:1 2 3 4 5 6 7 8 9