C 언어
상수는 프로그램이 실행 중에 변경할 수 없는 고정 값을 나타냅니다. 이러한 고정 값을 리터럴이라고도 합니다. .
상수는 정수 상수, 부동 상수, 문자 상수 또는 문자열 리터럴과 같은 기본 데이터 유형 중 하나일 수 있습니다. . 열거 상수도 있습니다.
상수는 정의 후에 값을 수정할 수 없다는 점을 제외하고는 일반 변수와 동일하게 취급됩니다.
정수 리터럴은 10진수, 8진수 또는 16진수 상수일 수 있습니다. 접두사는 기수 또는 기수를 지정합니다. 16진수의 경우 0x 또는 0X, 8진수의 경우 0, 10진수의 경우 아무 것도 지정하지 않습니다.
정수 리터럴은 unsigned 및 long에 대해 각각 U와 L의 조합인 접미사를 가질 수도 있습니다. 접미사는 대문자 또는 소문자가 될 수 있으며 순서에 상관없이 사용할 수 있습니다.
다음은 정수 리터럴의 몇 가지 예입니다. -
212 /* Legal */ 215u /* Legal */ 0xFeeL /* Legal */ 078 /* Illegal: 8 is not an octal digit */ 032UU /* Illegal: cannot repeat a suffix */
다음은 다양한 유형의 정수 리터럴의 다른 예입니다. -
85 /* decimal */ 0213 /* octal */ 0x4b /* hexadecimal */ 30 /* int */ 30u /* unsigned int */ 30l /* long */ 30ul /* unsigned long */
부동 소수점 리터럴에는 정수 부분, 소수점, 소수 부분 및 지수 부분이 있습니다. 부동 소수점 리터럴을 10진수 형식이나 지수 형식으로 나타낼 수 있습니다.
소수점 형식을 나타내는 동안 소수점, 지수 또는 둘 다를 포함해야 합니다. 지수 형식을 나타내는 동안 정수 부분, 소수 부분 또는 둘 다를 포함해야 합니다. 부호 있는 지수는 e 또는 E로 시작합니다.
다음은 부동 소수점 리터럴의 몇 가지 예입니다. -
3.14159 /* Legal */ 314159E-5L /* Legal */ 510E /* Illegal: incomplete exponent */ 210f /* Illegal: no decimal or exponent */ .e55 /* Illegal: missing integer or fraction */
문자 리터럴은 작은따옴표로 묶습니다. 예를 들어 'x'는 char의 간단한 변수에 저장할 수 있습니다. 유형.
문자 리터럴은 일반 문자(예:'x'), 이스케이프 시퀀스(예:'\t') 또는 범용 문자(예:'\u02C0')일 수 있습니다.
C에는 개행(\n) 또는 탭(\t)과 같이 백슬래시가 앞에 올 때 특별한 의미를 나타내는 특정 문자가 있습니다.
이스케이프 시퀀스 | 의미 |
---|---|
\\ | \ 문자 |
\' | ' 문자 |
\" | " 문자 |
\? | ? 캐릭터 |
\a | 경고 또는 벨 |
\b | 백스페이스 |
\f | 양식 피드 |
\n | 줄바꿈 |
\r | 캐리지 리턴 |
\t | 가로 탭 |
\v | 세로 탭 |
\ooo | 1~3자리의 8진수 |
\xhh . . . | 하나 이상의 숫자의 16진수 |
다음은 몇 가지 이스케이프 시퀀스 문자를 보여주는 예입니다. -
라이브 데모#include <stdio.h> int main() { printf("Hello\tWorld\n\n"); return 0; }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
Hello World
문자열 리터럴 또는 상수는 큰따옴표 ""로 묶입니다. 문자열에는 일반 문자, 이스케이프 시퀀스 및 범용 문자와 같은 문자 리터럴과 유사한 문자가 포함됩니다.
문자열 리터럴을 사용하여 긴 줄을 여러 줄로 나누고 공백을 사용하여 구분할 수 있습니다.
다음은 문자열 리터럴의 몇 가지 예입니다. 세 가지 형식은 모두 동일한 문자열입니다.
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
C에서 상수를 정의하는 두 가지 간단한 방법이 있습니다 -
#define 사용 전처리기.
상수 사용 키워드.
다음은 상수를 정의하기 위해 #define 전처리기를 사용하는 형식입니다 -
#define identifier value
다음 예에서 자세히 설명합니다 -
라이브 데모#include <stdio.h> #define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n' int main() { int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
value of area : 50
const를 사용할 수 있습니다. 다음과 같이 특정 유형의 상수를 선언하는 접두사 -
const type variable = value;
다음 예에서 자세히 설명합니다 -
라이브 데모#include <stdio.h> int main() { const int LENGTH = 10; const int WIDTH = 5; const char NEWLINE = '\n'; int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
value of area : 50
대문자로 상수를 정의하는 것은 좋은 프로그래밍 방법입니다.
C 언어
C 전처리기 및 매크로 이 자습서에서는 c 전처리기를 소개하고 예제를 통해 #include, #define 및 조건부 컴파일을 사용하는 방법을 배웁니다. C 전처리기는 프로그램을 컴파일하기 전에 변환하는 매크로 전처리기(매크로 정의 가능)입니다. 이러한 변환에는 헤더 파일, 매크로 확장 등이 포함될 수 있습니다. 모든 전처리 지시문은 #로 시작합니다. 상징. 예를 들어, #define PI 3.14 C 전처리기의 일반적인 용도는 다음과 같습니다. 헤더 파일 포함:#include #include 전처리기는 C 프로그램에
모듈을 만드는 것은 코드를 재사용하는 좋은 방법이지만 디자인 전체에 걸쳐 더 작은 변형을 가진 동일한 모듈이 필요한 경우가 많습니다. 이것이 제네릭과 제네릭 맵의 용도입니다. 이를 통해 모듈의 특정 부분을 컴파일 타임에 구성할 수 있습니다. 상수는 같은 값을 반복해서 입력하지 않으려는 경우에 사용됩니다. 컴파일 타임에 신호 벡터의 비트 너비를 정의하는 데 사용할 수 있으며 일반 상수에도 매핑할 수 있습니다. 상수는 코드의 어느 곳에서나 신호 및 변수 대신 사용할 수 있지만 컴파일 시간 이후에는 값을 변경할 수 없습니다. 이 블로