Understanding C Language: Basic Structure (1/2)

Comments, variables, functions, sentences, Output function, input function, arithmetic operation, assignment operation
Contents
1️⃣주석 (Comment)
2️⃣전처리(Preprocessor)
3️⃣함수 (Function)
4️⃣변수 (Variable)
일반적인 프로그램 형태(General structure of a program)

일반적인 프로그램의 형태는 다음과 같다.
입력 단계(Input): 데이터를 입력받는 단계이다. 예를 들어, 사용자로부터 키보드 입력을 받거나 파일에서 데이터를 읽는 과정이다.
처리 단계(Process): 입력된 데이터를 처리하는 단계이다. 이 단계에서는 산술 연산, 데이터 변환, 조건 처리 등의 논리적 연산이 수행된다.
출력 단계(Output): 처리된 결과를 화면이나 파일에 출력하는 단계이다. 예를 들어,
printf()함수로 결과를 화면에 출력하는 것이 이에 해당한다.
즉, 프로그램은 입력 → 처리 → 출력의 순서로 동작한다고 할 수 있다.
1️⃣주석 (Comment)
덧셈 프로그램 # 1

위 이미지는 두 개의 숫자의 합을 계산하는 간단한 C 프로그램을 설명하는 예시이다. 각 요소의 설명은 다음과 같다:
주석:
/* 두 개의 숫자의 합을 계산하는 프로그램 */부분은 주석으로, 프로그램의 목적을 설명하고 있다. 이 부분은 실행되지 않으며, 코드에 대한 설명을 추가하기 위한 용도이다. 주석은 코드를 설명하는 글이다.
전처리기 지시문:
#include <stdio.h>는 C 표준 입출력 라이브러리를 포함하는 전처리기 지시문이다. 이 라이브러리는printf()함수를 사용하여 출력을 할 수 있게 한다.
변수 선언:
int x; int y; int sum;부분에서 세 개의 변수가 선언되었다.x: 첫 번째 숫자를 저장할 변수.y: 두 번째 숫자를 저장할 변수.sum: 두 숫자의 합을 저장할 변수.
연산:
x = 100; y = 200; sum = x + y;부분에서 두 변수를 초기화하고,x와y의 합을sum에 저장한다.
출력:
printf("두 수의 합: %d", sum);를 통해 두 수의 합을 출력한다. 여기서%d는 정수 값을 출력하는 포맷 지정자이다.
결과:
- 최종적으로 콘솔에
"두 수의 합: 300"이라는 결과가 출력된다.
- 최종적으로 콘솔에
이 프로그램은 간단한 덧셈 연산을 수행하고, 그 결과를 출력하는 기본적인 C 프로그램이다.
2가지 주석 방법

주석은 코드에 대한 설명을 추가하는 데 사용되며, 컴파일러에 의해 무시된다.
여러 줄 주석 (Multiline comment):
/*로 시작하고*/로 끝나는 형식의 주석이다. 이 주석은 여러 줄에 걸쳐 작성할 수 다.예시:
cCopy code/* 한 줄로 된 주석 */ /* 여러 줄로 된 주석 */
한 줄 주석 (Single-line comment):
//로 시작하는 주석으로, 한 줄에만 적용된다. 이 주석은 해당 줄의 끝까지 적용되며, 주석 뒤에 작성된 내용은 무시된다.예시:
cCopy code// 이 줄은 전체가 주석이다. int x; // 여기서부터 줄의 끝까지가 주석이 된다.
이 두 가지 주석 방법을 사용하여 코드에 설명을 추가하거나, 특정 코드의 실행을 임시로 중지시키는 데 활용할 수 있다.
주석의 중요성
주석은 프로그램 이해를 돕는다:
- 다른 사람이 프로그램을 보거나, 작성자가 시간이 지난 후에 다시 볼 때, 주석이 있으면 프로그램의 내용을 더 쉽게 이해할 수 있다. 시간이 흐르면 만든 사람조차도 코드의 구체적인 내용을 기억하기 어려울 수 있기 때문에, 주석은 프로그램의 이해도를 높여준다.
좋은 주석은 반복적이지 않고, 의도를 명확히 한다:
- 좋은 주석은 단순히 코드를 설명하는 것이 아니라, 코드를 작성한 이유와 의도를 명확하게 나타내는 것이다. 코드 자체가 명확하다면 주석으로 그 내용을 반복해서 설명할 필요는 없다. 대신, 주석은 해당 코드가 무엇을 의도했는지를 전달하는 데 집중해야 한다.
따라서 주석은 프로그램의 가독성과 유지보수성을 높이는 중요한 도구이다. 코드의 동작을 이해하는 데 필요한 배경이나 의도를 주석으로 명확히 표현하는 것이 좋다.
주석 스타일

들여쓰기(Indentation)

들여쓰기(indentation): 같은 수준에 있는 코드 문장들을 코드 블록의 가독성을 높이기 위해 왼쪽 끝에서 몇 칸 안쪽으로 밀어내어 작성하는 것이다.
들여쓰기를 통해 코드의 구조와 계층을 시각적으로 구분할 수 있어, 코드의 가독성이 크게 향상된다.
특히 조건문, 반복문, 함수 등의 블록 내부에 있는 문장들은 들여쓰기를 통해 코드 블록의 시작과 끝을 쉽게 파악할 수 있다.
들여쓰기는 코드 작성에서 중요한 스타일 요소로, 다른 사람이 코드를 쉽게 이해할 수 있도록 돕는다.
주석과 들여 쓰기가 없다면?

주석과 들여쓰기가 없다면 프로그램이 실행은 되지만 다음과 같은 문제가 발생할 수 있다.
프로그램의 내용을 이해하기 어렵다:
- 주석이 없으면 코드가 어떤 처리를 하고 있는지, 어떤 의도로 작성된 것인지 파악하기 힘들다. 특히 시간이 지나거나 다른 사람이 코드를 볼 때, 주석이 없다면 프로그램의 동작을 이해하는 데 많은 시간이 걸릴 수 있다.
같은 수준의 문장 구분이 어렵다:
- 들여쓰기가 없으면 코드의 구조와 계층이 명확하지 않아, 어떤 문장이 같은 블록에 속하는지 구분하기 어렵다. 이는 조건문이나 반복문처럼 여러 문장이 중첩될 때 특히 문제가 된다. 들여쓰기가 없는 코드는 오류를 찾기도 어렵고, 수정할 때 실수가 생길 가능성이 높아진다.
따라서, 주석과 들여쓰기는 코드의 가독성과 유지보수성을 높이는 데 매우 중요한 역할을 한다. 이를 소홀히 하면 코드가 복잡해지고, 협업이나 장기적인 프로젝트에서 문제가 발생할 수 있다.
중간 점검

2️⃣전처리(Preprocessor)
#include <stdio.h>:- 외부 파일을 포함시키라는 의미의 전처리기 지시문이다. C 프로그램에서 필요한 외부 라이브러리나 헤더 파일을 프로그램에 포함시키기 위해 사용다.
#기호로 시작:- 전처리기는 항상
#기호로 시작한다. 이는 컴파일러에게 전처리 작업을 지시하는 명령어이다.
- 전처리기는 항상
stdio.h파일:- **
stdio.h**는 **표준 입출력(standard input/output)**과 관련된 라이브러리 함수들의 정의가 들어 있는 헤더 파일이다. 이를 포함함으로써printf(),scanf()와 같은 입출력 함수들을 사용할 수 있게 된다.
- **
전처리기는 프로그램이 컴파일되기 전에 필요한 외부 파일을 불러오고, 코드의 구조를 명확히 하는 중요한 역할을 한다.

위 이미지는 C 프로그램에서 #include <stdio.h> 지시문이 어떻게 동작하는지를 설명하고 있다. 주요 내용은 다음과 같다:
hello.c파일:첫 번째 프로그램인
hello.c파일에서#include <stdio.h>지시문을 사용하여stdio.h헤더 파일을 포함하고 있다.stdio.h는 표준 입출력 라이브러리로, 프로그램에서 **printf()**와 같은 입출력 함수를 사용할 수 있게 해준다.
stdio.h파일:**
stdio.h**는 C 표준 라이브러리의 헤더 파일로, 다양한 입출력 함수가 정의되어 있다. 예시로 **int printf(char *, ...);**와 같은 함수의 선언이 들어 있다.이 헤더 파일을 포함함으로써 **
printf()**와 같은 함수를 사용할 수 있게 되며, 이 함수는 "Hello World!"를 출력하는 데 사용된다.
이미지는 **#include <stdio.h>**가 stdio.h 파일을 포함하여 프로그램에서 표준 입출력 함수들을 사용할 수 있도록 연결하는 과정을 시각적으로 보여주고 있다.
중간점검

3️⃣함수 (Function)
함수(function):
함수는 특정 기능을 수행하는 코드의 처리 단계를 묶어서 이름을 붙인 것이다. 함수는 코드의 일부분을 재사용할 수 있게 하며, 프로그램을 더 체계적으로 관리할 수 있도록 돕는다.
함수를 호출하면, 해당 함수 내의 코드가 실행된다.
함수는 프로그램을 구성하는 기본적인 단위:
함수는 프로그램의 기본 구성 요소이다. 프로그램에서 함수는 각기 다른 작업을 수행하는 부품 역할을 하며, 이러한 부품들이 모여서 프로그램 전체가 완성된다.
함수는 프로그램을 모듈화하고, 코드를 더 간결하고 읽기 쉽게 만든다.
함수를 사용하면 코드의 가독성이 높아지고, 중복을 피하며, 유지보수가 쉬워진다.
함수안에 들어있는 것

함수의 구조

함수의 출력 타입 (int):
- 이 함수가 정수형(int) 값을 반환한다는 것을 의미한다. 함수가 끝나면
return을 통해 정수값을 반환하게 된다.
- 이 함수가 정수형(int) 값을 반환한다는 것을 의미한다. 함수가 끝나면
함수의 이름 (main):
- 함수의 이름은 **
main**이다. C 프로그램에서main()함수는 프로그램의 시작점이며, 모든 프로그램은 이 함수부터 실행된다.
- 함수의 이름은 **
함수의 입력 타입 (void):
- **
void**는 이 함수가 입력을 받지 않는다는 것을 의미한다. 즉,main()함수는 외부에서 값을 전달받지 않고 실행된다.
- **
함수의 시작 (
{):- 중괄호
{는 함수의 시작을 나타낸다. 함수 내부의 코드가 중괄호 안에 들어간다.
- 중괄호
함수의 몸체:
- 함수가 실행될 때 수행할 작업들이 함수의 몸체 부분에 들어간다. 이 예시에서는 함수가 할 일들이 생략되어 있지만, 실제 코드에서는 여러 명령문들이 포함된다.
함수의 종료 (
}):- 중괄호
}는 함수의 끝을 나타낸다. 함수의 모든 작업이 끝나면 이 부분에서 함수가 종료된다.
- 중괄호
이 이미지는 C 프로그램에서 함수가 어떻게 구성되는지를 시각적으로 설명하고 있으며, main() 함수는 프로그램 실행의 시작점이라는 중요한 의미를 가지고 있다.
함수 문장

함수 내부에는 여러 문장들이 들어간다. 이 문장들은 하나씩 순차적으로 실행되며, 함수가 할 작업을 정의한다.
예를 들어, "문장 1;", "문장 2;", "문장 3;" 같은 문장들이 함수의 몸체에 들어가 실행된다.
모든 문장은 ; 로 끝난다.
return 문장

return은 함수를 종료시키면서 값을 반환하는 키워드이다.return키워드는 함수의 실행을 종료하고, 호출한 곳으로 값을 반환한다. 함수가 작업을 마친 후 결과를 돌려줄 때 사용된다.
값을 반환하기 위해서는
return다음에 반환값을 써주면 된다:함수가 결과값을 반환하려면
return뒤에 반환할 값을 적는다. 이 값은 함수의 반환형과 일치해야 한다.예:
return 0;은 함수가 정수형 값0을 반환하고 종료한다는 뜻이다.
main()은 누가 호출할까? 운영체제

위 이미지는 C 프로그램에서 main() 함수가 어떻게 호출되는지를 설명하는 내용이다. 주요 설명은 다음과 같다.
운영체제(Windows):
- C 프로그램이 실행될 때, 운영체제가 프로그램의 시작을 담당하며, 가장 먼저
main()함수를 호출한다.main()함수는 C 프로그램의 시작점(entry point)이다.
- C 프로그램이 실행될 때, 운영체제가 프로그램의 시작을 담당하며, 가장 먼저
main()함수:main()함수가 호출되면, 그 안에 있는 코드가 실행된다. 예를 들어,printf("...");함수가 호출된다.printf()는 화면에 텍스트를 출력하는 함수이다.
printf()함수:main()함수에서printf()함수를 호출하면,printf()함수 내부의 명령문들이 실행되어 화면에 문자열을 출력하는 작업이 수행된다.printf()함수 내부에는 여러 문장들이 정의되어 있으며, 이러한 문장들이 차례로 실행된다.
함수 호출:
- 이미지의 오른쪽에서는 "함수를 실행하려면 함수를 호출하면 됩니다."라는 설명이 있다. 이는 C 프로그램에서 함수가 호출되면, 그 함수에 포함된 명령들이 실행된다는 것을 의미한다.
결론: C 프로그램에서 main() 함수는 운영체제에 의해 자동으로 호출된다. main() 함수가 실행되면 그 안에 있는 코드, 예를 들어 printf() 함수가 호출되고, 그 함수의 내부 문장들이 실행된다.
4️⃣변수 (Variable)

프로그램에서 데이터를 일시적으로 저장하기 위해 사용하는 메모리 공간이다. 변수는 프로그램이 실행되는 동안 값을 저장하고, 필요할 때 그 값을 참조하거나 변경할 수 있다.
- 변수는 다양한 데이터 유형(정수, 실수, 문자열 등)을 저장할 수 있으며, 그 값을 변경할 수 있는 가변적인 데이터 저장소이다.
변수는 프로그램의 핵심 구성 요소로, 데이터를 저장하고 처리하는 데 중요한 역할을 한다.
변수는 왜 필요한가?

변수는 데이터 값을 일시적으로 저장하는 역할을 한다:
프로그램이 실행되는 동안 데이터 값을 임시로 저장하기 위해 변수가 필요하다. 변수는 값을 저장하고, 그 값을 반복적으로 사용할 수 있게 해 준다.
예를 들어, 계산 결과나 입력된 값을 임시로 저장할 때 변수를 사용한다. 변수가 없으면 데이터를 처리할 때마다 새로운 값을 입력하거나 계산해야 하며, 효율성이 크게 떨어진다.
변수는 데이터를 효율적으로 관리하고, 프로그램 내에서 필요한 정보를 계속 유지하거나 수정할 수 있게 도와준다.
변수의 종류

변수는 데이터를 담는 상자:
변수는 프로그램에서 데이터를 임시로 저장하는 상자처럼 생각할 수 있다. 이 상자에 값을 넣고, 필요할 때 값을 꺼내 사용하는 방식으로 작동한다.
예를 들어,
x = 2라는 코드는x라는 변수에 숫자 2를 저장하는 것이다.
변수의 이름:
변수의 이름은 상자에 붙여진 라벨과 같다. 프로그램에서 변수의 이름을 통해 해당 변수에 저장된 값을 참조할 수 있다.
예:
int x;에서x가 변수의 이름이다.
자료형과 변수 이름:
자료형은 변수에 어떤 종류의 데이터가 저장될 수 있는지를 정의한다. 예를 들어,
int는 정수형 데이터를 저장할 수 있는 자료형이다.변수의 선언은 자료형과 변수 이름을 함께 사용한다. 예:
int x;는 정수형 변수x를 선언하는 것이다.

변수의 종류는 데이터의 종류에 따라 여러 가지 타입이 있다. 각 타입은 저장할 수 있는 데이터의 종류를 정의한다. 주요 변수 타입은 다음과 같다:
정수형 변수 (int):
정수 값을 저장하는 변수
예:
int x = 10;(정수 10을 저장)
실수형 변수 (float, double):
실수(소수점이 있는 숫자)를 저장하는 변수이다.
float은 단정밀도,double은 배정밀도로 더 많은 소수점을 저장할 수 있다.예:
float pi = 3.14f;(실수 3.14를 저장)
문자형 변수 (char):
한 개의 문자를 저장하는 변수.
예:
char letter = 'A';(문자 'A'를 저장)
문자열 변수 (char 배열):
여러 개의 문자를 저장하는 변수. C 언어에서는 문자열을
char배열로 관리한다..예:
char name[] = "Alice";(문자열 "Alice"를 저장)
논리형 변수 (bool):
참(True) 또는 거짓(False) 값을 저장하는 변수. C 언어에서는
stdbool.h를 포함하여 사용하며, 참/거짓을 나타낸다.예:
bool isTrue = true;(참을 저장)
포인터 변수 (pointer):
메모리 주소를 저장하는 변수이다. 주로 다른 변수나 배열의 주소를 참조할 때 사용된다.
예:
int *ptr = &x;(변수x의 주소를 저장)
변수 타입은 데이터의 성격에 맞는 자료형을 선택하는 것이 중요하다. 이를 통해 메모리를 효율적으로 사용하고, 데이터 처리 속도를 최적화할 수 있다.
자료형(Data type)

자료형이란:
- 자료형(data type)은 변수가 저장할 데이터가 정수인지, 실수인지, 또는 다른 종류의 데이터인지를 지정하는 것이다. 프로그램에서 데이터를 효율적으로 저장하고 처리하기 위해, 각 변수에 적절한 자료형을 할당해야 한다.
자료형의 종류:
정수형 (Integer type):
정수 값을 저장하는 자료형이다.
예: 💡
int,long,short예시:
int age = 25;(나이 값을 저장)
부동소수점형 (실수형, Floating-point type):
소수점을 포함한 실수 값을 저장하는 자료형이다.
예: 💡
float, 💡double예시:
float pi = 3.14;(π 값을 저장)
문자형 (Character type):
하나의 문자를 저장하는 자료형이다.
예: 💡
char예시:
char grade = 'A';(문자 'A'를 저장)
이 자료형을 통해 변수는 특정 유형의 데이터를 저장하고 처리할 수 있으며, 자료형을 명확히 지정하는 것은 메모리 관리와 성능 측면에서 매우 중요하다.
변수 선언
변수 선언:
변수 선언은 컴파일러에게 해당 변수가 어떤 타입의 데이터를 저장할 것인지를 미리 알리는 과정이다. 변수의 자료형과 이름을 선언함으로써, 컴파일러는 이 변수를 어떻게 처리해야 할지 알 수 있게 된다..
선언된 변수는 이후 프로그램에서 값을 저장하거나 읽는 데 사용된다.
예시:
int age;
float pi;
char grade;
int age;: 정수형 변수를 선언하고, 이 변수는 정수 값을 저장할 수 있다.float pi;: 실수형 변수를 선언하고, 이 변수는 소수점을 포함한 실수 값을 저장할 수 있다.char grade;: 문자형 변수를 선언하고, 이 변수는 한 개의 문자를 저장할 수 있다.
변수 선언은 변수를 사용하는 첫 단계로, 프로그램이 변수를 제대로 처리할 수 있도록 컴파일러에게 정보를 제공하는 역할을 합니다.
변수 선언

자료형은 정수형 (int):
- **
int**는 정수형 자료형을 나타내며, 정수 값을 저장할 수 있는 변수를 선언한다.
- **
변수 이름 (x, y, sum):
각 변수의 이름은
x,y, 그리고 **sum**이다.x: 첫 번째 정수를 저장하는 변수.y: 두 번째 정수를 저장하는 변수.sum: 두 정수의 합을 저장하는 변수.
주석:
- 각 변수 선언 옆에는 주석으로 해당 변수가 어떤 용도로 사용되는지를 설명하고 있다. 주석은 프로그램의 가독성을 높이고, 변수가 무엇을 의미하는지 쉽게 이해할 수 있도록 돕는다.
이 예시에서 정수형 변수를 선언하고, x와 y에 값을 저장한 뒤 그 값을 더한 결과를 sum에 저장하는 프로그램을 작성할 수 있다.
변수 선언

변수의 역할:
- 각 변수는 정수를 저장할 수 있는 메모리 공간이다. 선언된 변수들은 프로그램이 실행되는 동안 값을 저장하고 사용할 수 있다.
메모리에서의 변수 할당:
- 그림에서는 변수들이 각각 메모리 공간 안에
x,y, **sum**이라는 이름으로 라벨링된 상자로 표현되어 있다. 이 상자들이 메모리의 일부분을 차지하며, 각각의 정수 값을 저장할 수 있다.
- 그림에서는 변수들이 각각 메모리 공간 안에
변수의 역할:
- 각 변수는 정수를 저장하기 위해 메모리에서 공간이 할당되고, 이 공간에 특정 이름이 붙여져 프로그램 내에서 사용된다.
이 시각적 예시는 변수가 어떻게 메모리에 저장되고, 그 역할을 어떻게 수행하는지를 보여준다. 변수는 메모리 내에서 데이터를 저장하고 프로그램의 로직에 따라 계산 및 처리된.
한 줄에 여러 개의 변수 선언

위 이미지는 여러 변수를 한 줄에서 선언하는 방법을 설명하고 있다.
변수 선언 방식:
**
int x, y, sum;**와 같이 여러 변수를 한 번에 선언할 수 있다. 한 줄에서 같은 자료형의 변수들을 쉼표(,)로 구분하여 선언할 수 있으며, 이렇게 하면 코드가 더 간결해진다.이 방식은 여러 변수를 같은 자료형으로 선언할 때 사용된다.
메모리에서의 변수 할당:
각 변수는 여전히 독립된 메모리 공간을 차지하며, 이름이 붙은 상자처럼 각각의 데이터를 저장할 수 있다.
x,y,sum이라는 이름의 변수들이 메모리에서 각각 공간을 차지하고, 정수 값을 저장할 수 있다.
결과:
- 이 방법은 각 변수가 정수형 데이터를 저장할 수 있도록 메모리 공간을 할당받는다는 점에서 이전의 예시와 동일하다. 차이점은 여러 변수를 한 번에 선언했다는 것.
이 그림은 여러 변수를 효율적으로 선언하는 방법을 시각적으로 설명하고 있으며, int x, y, sum;와 같은 코드는 C 프로그램에서 자주 사용된다.
변수의 이름

함수 이름: sub
변수 이름: x;

식별자(identifier)
식별자는 변수의 이름을 의미하며, 변수들이나 함수 등을 구분하고 식별하는 역할을 한다. 예를 들어, 사람의 이름이 각 사람을 구별하듯이, 변수의 이름은 변수와 다른 변수들을 구별해준다.
- 프로그래머가 변수의 이름을 자유롭게 지정할 수 있지만, 몇 가지 규칙을 반드시 지켜야 한다.
변수 이름(식별자) 규칙:
첫 글자는 문자 또는 밑줄(_)로 시작해야 한다. 숫자로 시작할 수 없다.
올바른 예:
age,_count잘못된 예:
1number(숫자로 시작하면 안 됨)
대소문자를 구분한다.
- 예:
number와Number는 서로 다른 변수로 인식된다.
- 예:
공백을 포함할 수 없다.
올바른 예:
totalScore잘못된 예:
total score(공백을 포함할 수 없음)
특수 문자는 사용할 수 없지만, 밑줄(
_)은 사용할 수 있다.올바른 예:
my_variable잘못된 예:
my-variable(특수문자 사용 불가)
변수의 이름은 의미 있는 단어로 작성하는 것이 좋다. 이렇게 하면 코드의 가독성이 높아지고, 변수가 어떤 역할을 하는지 쉽게 파악할 수 있게 된다.
키워드
키워드(keyword): C언어에서 고유한 의미를 가지고 있는 특별한 단어이다. 예약어(reserved words) 라고도 한다

변수의 이름

변수 이름의 규칙에 대한 설명이다:
⭕
sum:- 변수 이름은 영문 알파벳 문자로 시작할 수 있다.
⭕
_count:- 변수 이름은 밑줄 문자로 시작할 수 있다. 밑줄은 변수의 첫 글자로 사용할 수 있는 유일한 특수 문자이다.
⭕
number_of_pictures:- 변수 이름 중간에 밑줄 문자를 넣어 사용할 수 있다. 여러 단어를 연결할 때 주로 사용된다.
⭕
King3- 변수 이름의 첫 글자가 아니라면, 숫자를 포함할 수 있다. 숫자는 두 번째 위치 이후에 사용할 수 있다.
❎
2nd_base(잘못된 예):- 변수 이름은 숫자로 시작할 수 없다. 첫 글자는 반드시 문자나 밑줄이어야 한다.
❎
money#(잘못된 예):#과 같은 특수 기호는 변수 이름에 사용할 수 없다. 변수 이름에 사용할 수 있는 특수 문자는 밑줄(_)뿐이다.
❎
double(잘못된 예):double은 C 언어의 키워드이므로, 변수 이름으로 사용할 수 없다. 키워드는 프로그래밍 언어에서 이미 특정한 의미를 가지기 때문에 변수 이름으로 사용할 수 없다.
이 규칙들을 지켜서 변수를 선언해야 컴파일러가 올바르게 인식하고 프로그램이 제대로 작동할 수 있게된다.
좋은 변수 이름

좋은 변수 이름을 짓는 방법에 대한 설명이다:
변수의 역할을 가장 잘 설명하는 이름을 선택해야 한다:
변수의 이름은 변수의 목적이나 역할을 명확히 나타내야 한다. 이로 인해 코드의 가독성이 높아지고, 협업이나 유지보수 시에 이해하기 쉽게 된다.
안 좋은 예:
i,j,k와 같은 단일 문자 변수는 의미가 모호해서 적합하지 않다.- 예:
i,j,k는 반복문의 인덱스로 자주 사용되지만, 명확한 의미가 없는 경우에는 피하는 것이 좋다.
- 예:
좋은 예:
year,month,date처럼 변수의 역할을 명확히 설명하는 이름을 선택하는 것이 좋다.
여러 단어로 된 이름을 만드는 방법:
변수 이름이 여러 단어로 이루어질 때, 이를 구분하여 읽기 쉽게 만드는 두 가지 방식이 있다.
밑줄 방식:
각 단어 사이에 **밑줄(
_)**을 넣어 변수 이름을 작성한다.예:
bank_account,user_name,total_score
카멜 케이스 방식:
각 단어의 첫 글자를 대문자로 작성하는 방식이다. 첫 번째 단어는 소문자로 시작하고, 그 다음 단어부터는 첫 글자를 대문자로 한다.
예:
bankAccount,userName,totalScore
이와 같이, 변수 이름은 의미 있는 단어들로 구성되어야 하며, 여러 단어로 이루어진 경우 읽기 쉬운 방식으로 작성해야 한다.
변수의 초기화(Variable Initialization)
“초기에 어떤값을 가지느냐” 가 변수의 초기화이다.
변수에 초기값을 줄 수 있다:
변수를 선언하면서 초기값을 함께 할당할 수 있다. 이렇게 하면 변수가 선언된 시점에 바로 값이 설정된다.
예:
int x = 10; int y = 20; int sum = 0;
동일한 타입의 변수들은 같은 줄에서 선언과 동시에 초기화할 수 있다:
동일한 자료형을 가진 변수는 같은 줄에서 선언과 초기화를 한 번에 할 수 있다.
예:
int width = 100, height = 200;
초기화 방식에 대한 주의사항:
잘못된 예로,
int width, height = 200;처럼 하나의 변수만 초기화하는 경우가 있다. 이 구문은 문법적으로 오류는 아니지만, 모든 변수가 초기화된 것처럼 보이게 하여 혼란을 줄 수 있기 때문에 피하는 것이 좋다. 이 경우,width는 초기화되지 않고height만 초기화된다..예:
int width, height = 200; // width는 초기화되지 않음
이와 같이 명확한 변수 초기화는 코드의 가독성을 높이고, 잘못된 초기화로 인해 발생할 수 있는 오류를 방지할 수 있다.


