◎ 변수
변수란 데이터를 저장하는 임시 저장 공간 즉, 메모리 공간을 말한다. 두 숫자의 합의 결과 값을 저장하거나 입력 값을 저장할 때 필요하다. 변수가 없는 코드는 없다고 보면 된다.
1) 변수 선언 방법
변수는 크게 정수형 변수와 실수형 변수로 분류된다. 말 그대로 정수형 변수는 정수를 저장히기 위한 변수이고 실수형 변수는 실수를 저장하기 위한 변수이다. 같은 타입의 변수는 쉼표(,)로 구분하여 여러 개를 동시에 선언할 수 있다.
- 정수형 변수 : char, short, int, long
- 실수형 변수 : float, double, long double
#include <stdio.h>
int main() {
char a; // char형 변수
short b, c; // short형 변수, 여러개 동시 선언 가능
int d; // int형 변수
long e; // long형 변수
float f; // float형 변수
double g; // double형 변수
long double h; // long double형 변수
return 0;
}
변수를 사용함에 있어 가장 중요한 것은 초기화이다. 예전에는 변수를 선언하기만 하고 아무런 값을 할당하지 않는다면 쓰레기 값이 들어있었는데 요즘에는 좀 달라진 것 같다. Dev-C++에서는 자동으로 변수에 0이 저장되고 Visual Studio에서는 Debug Error가 발생한다. 따라서 변수를 사용할 때는 반드시 0 또는 사용할 값으로의 초기화가 필요하고 이는 습관이 되어야 한다.
#include <stdio.h>
int main() {
int a; // int a = 0; 이렇게 초기화를 해주어야 한다.
printf("%d \n", a);
return 0;
}
2) 변수 선언 시 주의할 점
변수를 사용할 때는 몇가지 주의해야 할 사항이 있다.
2-1) 변수 선언은 제일 위쪽에 한다.
변수는 코드의 최상단에 선언한다. 물론 변수를 최상단에 선언하지 않아도 오류는 발생하지 않지만 코드의 가독성을 위해 변수의 선언은 최상단에 하도록 한다.
2-2) 변수 이름은 그 목적에 맞는 이름으로 짓는다.
변수 이름은 나중에 코드를 보았을 때나 다른 사람이 코드를 보았을 때 그 목적을 한 번에 알 수 있도록 목적에 맞는 이름으로 짓는다. 예를 들어 두 숫자의 합을 저장할 변수라고 한다면 sum, 평균을 저장할 변수라고 한다면 avg 등의 형태로 말이다.
2-3) 변수 이름은 소문자로 시작하고 각 단어의 첫글자는 대문자로 하여 구분한다(캐멀 케이스).
거의 모든 프로그래밍 언어에서 변수의 이름은 소문자로 시작한다. 추가로 C언어에서는 각 단어의 구분을 위해 첫 글자는 대문자로 사용하는 '캐멀 케이스' 방식을 사용한다. 예를 들어 사과의 갯수를 저장할 변수라고 한다면 appleBox, 남학생이라고 한다면 boyStudent처럼 사용한다.
2-4) 변수 이름의 맨 처음에는 숫자가 올 수 없고, 변수 이름에는 [특수 기호, 공백 문자, 키워드(Keyword)]가 올 수 없다.
변수 이름의 맨 앞에 숫자를 사용하게 되면 오류가 발생한다. 숫자 1개를 저장하기 위한 변수의 이름을 num1로 하면 문제가 없지만 1num으로 하면 오류가 발생하게 된다. 또한 변수 이름에는 특수 기호(-, _제외), 공백(space), 키워드가 올 수 없다. 여기서 키워드란 C언어에서 고유한 의미를 갖는 예약어를 말하는데 그 목록은 아래와 같다.
auto | break | case | char | const | continue |
default | do | double | else | enum | extem |
float | for | goto | if | int | long |
register | return | short | signed | sizeof | static |
struct | switch | typedef | union | unsigned | void |
volatile | while |
#include <stdio.h>
int main() {
// 변수 선언은 최상단에 하고, 변수의 이름은 의미있게 짓는다.
int num1 = 3, num2 = 2;
int sum = 0;
// 변수 이름은 소문자로 시작하고 각 단어의 첫글자는 대문자로 하여 구분한다.
int appleBox, orangeBox;
// 변수 이름의 맨 처음에는 숫자가 올 수 없다.
int 1num;
// 변수 이름에는 특수 기호, 공백, 키워드가 올 수 없다.
int num@1; // 특수 기호 불가
int num 2; // 공백 불가
int int; // 키워드 불가(int)
}
★3) 변수의 시작 주소와 & 연산자
변수는 메모리에 저장되는데 저장되는 각 메모리의 위치는 주소를 가지고 있다. 이는 C언어의 꽃이라고도 불리우는 '포인터(Pointer)'를 사용할 때 매우 중요한 개념이니 잘 기억해야 한다. 변수의 주소를 확인하기 위해서는 & 연산자를 사용하면 된다.
#include <stdio.h>
int main() {
int a=0, b=0;
printf("변수 a의 주소 : %x \n", &a);
printf("변수 b의 주소 : %x \n", &b);
return 0;
}
4) 변수의 사용
변수를 사용하는 것은 어렵지는 않지만 몇가지 주의사항이 존재한다. 만약 정수형 변수를 실수형 서식 문자로 출력하거나 실수형 변수를 정수형 서식 문자로 출력하게 되면 값이 올바르게 출력되지 않는다. 서식 문자를 모른다면 아래 글을 확인하면 된다.
[C언어] :: 기본 입출력(printf, 특수 문자, 서식 문자, scanf)
◎ printf() 화면에 데이터를 출력하기 위해서는 printf 함수를 사용해야 한다. printf 함수는 stdio.h 헤더파일에 들어있다. 아래는 printf 함수의 예시이다. #include // printf 함수의 사용을 위해서 반드시
semin1127.tistory.com
#include <stdio.h>
int main() {
int intNum = 3;
float floatNum = 1.5;
printf("정상 출력 : %d, %f \n", intNum, floatNum);
printf("비정상 출력 : %f, %d \n", intNum, floatNum);
return 0;
}
변수는 변할 수 있는 수이므로 언제든 값의 변경이 가능하다. 그리고 실수형 변수에는 정수의 저장이 가능하지만 정수형 변수에 실수를 저장하면 소숫점 이하 값들은 삭제되므로 주의해야 한다.
#include <stdio.h>
int main() {
int intNum = 3.5; // 정수형 변수에 실수 저장
float floatNum = 1; // 실수형 변수에 정수 저장
printf("값 확인 : %d, %f \n", intNum, floatNum);
return 0;
}
'[Programming Language] > [C언어]' 카테고리의 다른 글
[C언어] :: %d와 %i의 차이점 (0) | 2024.02.12 |
---|---|
[C언어] :: 연산자(대입, 산술, 복합 대입, 증감, 관계, 논리, 조건, 비트 논리, 비트 이동) (1) | 2024.01.31 |
[C언어] :: 상수(리터럴 상수, 심볼릭 상수, const, define) (0) | 2024.01.26 |
[C언어] :: 기본 입출력(printf, 특수 문자, 서식 문자, scanf) (0) | 2024.01.18 |
[C언어] :: C언어 기본 구조(주석, 전처리기, 헤더파일, main 함수, 세미콜론, return) (1) | 2024.01.16 |