C 변수, 데이터 유형, 상수

⚡ 스마트 요약

변수, 데이터 유형 및 상수는 모든 C 프로그램의 기초를 이루며, 변수는 변경 가능한 값을 저장하고, 데이터 유형은 데이터의 크기와 범위를 정의하며, 상수는 절대 변하지 않는 고정된 값을 저장합니다.

  • 🔤 변수: 변수는 문자, 숫자 또는 밑줄을 사용하여 선언되는, 값이 변경될 수 있는 명명된 식별자입니다.
  • 🧮 데이터 유형: C 언어의 데이터 타입은 int, char, float, double, void를 포함한 기본형, 파생형, 사용자 정의형으로 나뉘며, 각 타입은 고정된 크기와 범위를 가집니다.
  • 🔒 상수: 상수는 고정된 값을 가지며, 정수, 문자, 문자열 및 절대 변하지 않는 실수 상수를 포함합니다.
  • ⚙️ 선언: `const` 키워드와 `#define` 지시어는 모두 상수를 생성하는데, 하나는 메모리를 예약하고 다른 하나는 텍스트를 대체합니다.
  • 🤖 AI 지원: GitHub Copilot은 올바른 데이터 유형을 제안하고, 명명 오류를 표시하며, C 언어 선언 속도를 향상시킵니다.

C 변수, 데이터 유형, 상수

변수란 무엇입니까?

변수는 어떤 값을 저장하는 데 사용되는 식별자입니다. 상수는 실행 시 절대 변경될 수 없습니다. 변수는 프로그램 실행 중에 변경될 수 있으며 그 안에 저장된 값을 업데이트할 수 있습니다.

단일 변수는 프로그램의 여러 위치에서 사용될 수 있습니다. 변수 이름은 의미가 있어야 합니다. 변수의 목적을 나타내야 합니다.

Example: Height, age, are the meaningful variables that represent the purpose it is being used for. Height variable can be used to store a height value. Age variable can be used to store the age of a person

변수는 프로그램 내부에서 사용되기 전에 먼저 선언되어야 합니다. 변수 이름은 문자, 숫자, 밑줄을 사용하여 구성됩니다.

변수를 생성할 때 따라야 할 규칙은 다음과 같습니다.

  • 변수 이름은 문자, 숫자, 밑줄로만 구성되어야 합니다.
  • 변수 이름은 숫자로 시작할 수 없습니다.
  • 변수 이름은 공백으로 구성되어서는 안 됩니다.
  • 변수 이름은 키워드로 구성되어서는 안 됩니다.
  • 'C'는 'age'라는 변수와 'AGE'가 다르다는 것을 의미하는 대소문자를 구분하는 언어입니다.

다음은 'C' 프로그램에서 유효한 변수 이름의 예입니다.

height or HEIGHT
_height
_height1
My_name

다음은 'C' 프로그램에서 잘못된 변수 이름의 예입니다.

1height
Hei$ght
My name

예를 들어, 정수형 변수 my_variable을 선언하고 값 48을 할당합니다.

int my_variable;
my_variable = 48;

그런데 단일 명령문에서 변수를 선언하고 초기화(초기값 할당)할 수 있습니다.

int my_variable = 48;

자료형

'C'는 프로그래머가 애플리케이션의 요구 사항에 따라 적합한 데이터 유형을 쉽게 선택할 수 있도록 다양한 데이터 유형을 제공합니다. 다음은 세 가지 데이터 유형입니다.

  • 원시 데이터 유형
  • 파생 데이터 유형
  • 사용자 정의 데이터 유형

다섯 가지 주요 기본 데이터 유형이 있습니다.

  • 정수 데이터의 경우 int
  • 문자 데이터의 char
  • 부동 소수점 숫자를 위한 float
  • double은 double precision 부동 소수점 숫자를 나타냅니다.
  • 무효화

배열, 함수, 포인터, 구조체는 파생 데이터 타입입니다. 'C' 언어는 위에서 언급한 기본 데이터 타입보다 더 확장된 형태를 제공합니다. 각 데이터 타입은 크기와 범위가 서로 다릅니다. 다음 표는 각 데이터 타입의 크기와 범위를 보여줍니다.

데이터 유형 크기(바이트) 범위
문자 또는 서명된 문자 1 128까지 127
부호없는 문자 1 0 ~ 255
int 또는 서명된 int 2 32768까지 32767
부호없는 정수 2 0 ~ 65535
Short int 또는 Unsigned short int 2 0 ~ 255
부호 있는 짧은 정수 2 128까지 127
Long int 또는 Signed long int 4 2147483648까지 2147483647
부호 없는 긴 정수 4 0 ~ 4294967295
뜨다 4 3.4E-38 ~ 3.4E+38
더블 8 1.7E-308 ~ 1.7E+308
롱더블 10 3.4E-4932 ~ 1.1E+4932

참고: C 언어에는 Boolean 데이터 타입이 없습니다.

정수 데이터 유형

정수는 정수일 뿐입니다. 정수 데이터 유형의 범위는 기계마다 다릅니다. 정수 데이터 유형의 표준 범위는 -32768부터 32767까지입니다.

정수는 일반적으로 2바이트이므로 메모리에서 총 16비트를 소비합니다. 단일 정수 값은 2바이트의 메모리를 사용합니다. 정수 데이터 유형은 short int, int 및 long int와 같은 다른 데이터 유형으로 더 구분됩니다.

각 데이터 유형은 정수 데이터 유형 계열에 속하더라도 범위가 다릅니다. 정수족의 각 데이터 유형에 따라 크기가 변경되지 않을 수 있습니다.

short int는 주로 작은 숫자를 저장하는 데 사용되고, int는 평균 크기의 정수 값을 저장하는 데 사용되고, long int는 큰 정수 값을 저장하는 데 사용됩니다.

정수형 데이터 타입을 사용하려면 식별자 앞에 int를 붙여야 합니다. 예를 들어,

int age;

여기서 age는 정수 값을 저장하는 데 사용할 수 있는 정수 데이터 유형의 변수입니다.

부동 소수점 데이터 유형

정수와 마찬가지로 'C' 프로그램에서는 부동 소수점 데이터 유형을 사용할 수도 있습니다. 부동 소수점 데이터 유형을 나타내는 데 'float' 키워드가 사용됩니다. 숫자에 분수와 소수 부분이 있음을 의미하는 부동 소수점 값을 보유할 수 있습니다. 부동 소수점 값은 소수점이 포함된 실수입니다. 정수 데이터 유형은 소수 부분을 저장하지 않으므로 부동 소수점을 사용하여 값의 소수 부분을 저장할 수 있습니다.

일반적으로 float는 최대 6개의 정밀도 값을 보유할 수 있습니다. float가 충분하지 않으면 큰 부동 소수점 값을 보유할 수 있는 다른 데이터 유형을 사용할 수 있습니다. double 및 long double 데이터 유형은 각각 최대 14비트 및 80비트 정밀도의 실수를 저장하는 데 사용됩니다.

부동 소수점 숫자를 사용하는 동안 키워드 float/double/long double을 식별자 앞에 두어야 합니다. 유효한 예는 다음과 같습니다.

float division;
double BankBalance;

문자 데이터 유형

문자 데이터 유형은 작은따옴표로 묶인 단일 문자 값을 저장하는 데 사용됩니다.

문자 데이터 형식은 최대 1바이트의 메모리 공간을 차지합니다.

예,

Char letter;

무효 데이터 유형

void 데이터 유형은 값을 포함하거나 반환하지 않습니다. 주로 'C'에서 함수를 정의하는데 사용됩니다.

예,

void displayData()

변수의 유형 선언

int main() {
int x, y;
float salary = 13.48;
char letter = 'K';
x = 25;
y = 34;
int z = x+y;
printf("%d \n", z);
printf("%f \n", salary);
printf("%c \n", letter);
return 0;}

출력:

59
13.480000
K

같은 데이터 형식의 변수를 여러 개 선언하려면 쉼표로 구분하면 됩니다. 또한 printf 함수의 출력에서 ​​float(%f), char(%c), int(%d)와 같은 형식 지정자가 사용되는 것을 확인할 수 있습니다.

상수

상수는 프로그램 실행 중에 절대 변하지 않는 고정된 값입니다. 다음은 다양한 유형의 상수입니다.

정수 상수

정수 상수는 숫자나 숫자로 구성된 값에 불과합니다. 이러한 값은 프로그램 실행 중에 절대 변경되지 않습니다. 정수 상수는 8진수, 10진수 및 16진수가 될 수 있습니다.

십진수 상수에는 다음과 같은 0-9의 숫자가 포함됩니다.

Example, 111, 1234

위는 유효한 십진수 상수입니다.

0진수 상수는 7-0의 숫자를 포함하며 이러한 유형의 상수 앞에는 항상 XNUMX이 옵니다.

Example, 012, 065

위는 유효한 XNUMX진수 상수입니다.

0진수 상수에는 9-0의 숫자와 AF의 문자가 포함됩니다. XNUMX진수 상수 앞에는 항상 XNUMXX가 옵니다.

Example, 0X2, 0Xbcd

위는 유효한 XNUMX진수 상수입니다.

XNUMX진수와 XNUMX진수 정수 상수는 'C' 프로그래밍에서 거의 사용되지 않습니다.

문자 상수

문자 상수는 작은따옴표(')로 묶인 단일 문자만 포함합니다. 문자 상수는 ASCII 값을 제공하여 표현할 수도 있습니다.

Example, 'A', '9'

위는 유효한 문자 상수의 예입니다.

문자열 상수

문자열 상수는 큰따옴표("")로 묶인 일련의 문자를 포함합니다.

Example, "Hello", "Programming"

다음은 유효한 문자열 상수의 예입니다.

실제 상수

항상 정수 값을 포함하는 정수 상수와 같습니다. 'C'는 또한 소수점 또는 분수 값을 포함하는 실제 상수를 제공합니다. 실수 상수는 부동 소수점 상수라고도 합니다. 실제 상수에는 소수점과 분수 값이 포함됩니다.

Example, 202.15, 300.00

다음은 '의 유효한 실수 상수입니다.C'.

실수 상수는 다음과 같이 쓸 수도 있습니다.

Mantissa e Exponent

예를 들어, 고전적인 원 상수 PI처럼 변하지 않는 값을 선언하려면 이 상수를 선언하는 두 가지 방법이 있습니다.

변수 선언에 `const` 키워드를 사용하면 저장 메모리를 예약할 수 있습니다.

#include <stdio.h>
int main() {
const double PI = 3.14;
printf("%f", PI);
//PI++; // This will generate an error as constants cannot be changed
return 0;}

메모리 저장을 사용하지 않는 `#define` 전처리 지시문을 사용하고 해당 문장 끝에 세미콜론 문자를 붙이지 않으면 됩니다.

#include <stdio.h>
#define PI 3.14
int main() {
printf("%f", PI);
return 0;}

자주 묻는 질문

변수는 실행 중에 값이 변경될 수 있는 이름이 지정된 메모리 위치입니다. 상수는 한 번 정의되면 절대 변하지 않는 고정된 값을 가집니다.

`const` 키워드는 컴파일러가 검사하는 형식이 지정된 메모리 기반 상수를 만듭니다. `#define`은 텍스트를 대체하는 전처리기 매크로이며 저장 공간을 사용하지 않습니다.

지역 변수는 함수 내부에 존재하며 함수가 실행되는 동안에만 유효합니다. 전역 변수는 C 프로그램 전체에서 접근 가능합니다. 스토리지 클래스.

부호 있는 타입은 음수와 양수 값을 모두 저장할 수 있습니다. 부호 없는 타입은 음수가 아닌 값만 저장하며, 동일한 바이트 수에서 양수 범위를 두 배로 늘립니다.

클래식 C 언어에는 불리언 타입이 없었기 때문에 프로그래머들은 0과 1을 저장하는 int 타입을 사용했습니다. C99 이후로는... _Bool 타입을 통해 bool, true, false 값을 추가합니다.

형식 지정자는 printf와 scanf 함수에게 데이터를 해석하는 방법을 알려줍니다. %d는 정수를, %f는 부동 소수점 숫자를, %c는 단일 문자를 처리합니다.

네. AI 코딩 도우미는 데이터 유형을 제안하고, 범위를 초과하는 값에 대해 경고하며, 키워드와 충돌하는 이름을 표시합니다. 출력 결과를 항상 검토하세요.

GitHub 부조종사 주석이나 주변 코드에서 변수 및 상수 선언을 자동 완성합니다. 이름과 데이터 유형을 제안하고 검토할 const 또는 #define 줄을 작성합니다.

이 게시물을 요약하면 다음과 같습니다.