티스토리 뷰
앞서 데이터 형을 살펴 보았습니다.
이제는 이러한 데이터 형에 따른 변수를 선언하고 사용하는 방법에 대해서 작성하겠습니다.
우선 변수를 사용하는 이유를 알아두어야 하겠습니다.
간단한 프로그램을 만들더라도 그 결과에 대해서 표현하고 저장해야하는데 이를 메모리에 저장하기 위해서는 변수를 선언하여 메모리에서 저장할 공간을 만들게 됩니다. 각각의 데이터형에 따라 이러한 크기가 달라지며 이 크기에 저장된 값을 다시 가르키기 위하여 사용하는 것이 변수입니다.
간단한 예제를 보시겠습니다.
#include <stdio.h> // 3과 4를 더해 변수 hap에 넣어 출력하기 int main() { int hap=0; printf("\n현재 변수 hap의 값 = %d\n",hap); hap = 3+4; printf("\n더하기 한 hap의 값 = %d\n\n", hap); }
예제를 실행 해보시면 다음과 같이 출력이 됩니다.
구문 int hap=0; 에서 앞부분 int hap은 데이터형 int인 변수 hap을 선언하는 것입니다.
이제 hap이라는 이름을 가지는 int형의 주소 공간이 생성이 된 것입니다.
뒤에 따라오는 =0 은 이 주소공간을 0으로 초기화 한 것인데요. 항상 변수를 생성하여 만들 때는 초기화를 하여야 합니다.
초기화를 하는 이유는 뒤에 조금 더 자세히 설명하도록 하겠습니다.
다음으로는 printf를 통하여 현재 hap의 값을 출력하였습니다.
그런 뒤 저희가 원하는 실제 함수의 행위라고 볼 수 있는 3+4를 수행하여 hap이라는 변수 주소공간에 집어넣습니다.
여기서 대입 연산자라 불리는 ( = ) 는 오른쪽의 값을 왼쪽에 저장하는 역할을 합니다. 따라서 3+4라는 수식의 값을 왼쪽의 hap의 변수에 넣게 되는 것입니다. 마찬가지로 초기화 할때 hap = 0 에서 0의 값을 hap에 넣어 초기화 하는 것입니다.
그럼 다시 진행하면 이제 hap이라는 변수에는 3+4의 연산을 통해 7이라는 값이 저장되어 있게 되고 다시 한번 hap을 출력하니 7이 출력되게 됩니다.
이렇듯 변수는 저장하기 위해, 또는 불러내어 사용하기 위해서 사용하는 것입니다.
이제 변수를 사용하기 위해서 지켜야 하는 몇가지 규칙이 있습니다.
첫번째로 변수를 선언한 위치에 따라 변수를 사용할 수 있는 범위가 달라집니다.
위에 예시처럼 main함수 아래 또는 중괄호 안에 선언하게 된다면 중괄호가 닫히는 순간 저 변수는 없어지게 됩니다.
따라서 프로그램 전체적으로 필요한 변수의 경우에는 main함수가 아닌 전역변수로 선언을 하여야 합니다.
두번째로는 변수의 이름에 대한 규칙입니다.
- 변수의 이름은 영대소문자, 숫자, 언더바( _ )만이 사용 될 수 있습니다.
- 대소문자를 구별하기 때문에 hap,Hap,HAp,HAP은 모두 다른 변수입니다.
- 변수의 이름은 숫자로 시작할 수 없으며, 중간에 공백이 있어도 안됩니다.
- 마지막으로 예약어, 키워드를 사용할 수 없습니다.
변수를 사용할 때는 변수의 역할이나 의미에 따라 맞게 지어주는 것이 좋습니다. 후에 소스를 이해하고 변수를 이해하는데 도움이 되기 때문입니다.
C언어에서 이미 예약되어있는 키워드 입니다.
auto |
break |
case |
char |
const |
continue |
default |
do |
double |
else |
enum |
extern |
float |
for |
goto |
if |
int |
long |
register |
return |
short |
signed |
sizeof |
static |
struct |
switch |
typedef |
union |
unsigned |
void |
volatile |
while |
이같은 키워드들은 변수나 함수의 이름으로 사용할 수 없는데, 이유는 이미 용도가 정해져 있는 예약되어 있는 용어들이기 때문입니다.
다음으로는 규칙이라고 할 수는 없지만 또 다른 특징으로는 자료형이 같을 경우에는 둘 이상의 변수를 동시에 선언이 가능하며, 이를 예시로 보여드리겠습니다.
int a,b,c=2;
전역변수로 선언하였을때 출력되는 값은 0,0,2가 됩니다. 지역변수로 선언할 때는 a와b에도 초기값을 주셔야겠습니다.
다른 하나로는 초기화에 대해서 입니다.
변수를 선언한 후 이를 사용하기 전에 항상 초기화를 하시는 습관을 들이시는게 좋습니다.
변수가 선언된 위치나 상수형태 등의 이유로 쓰레기값이 들어가거나 들어가지 않는 경우가 있지만 이러한 것을 논외로 치더라도 처음에는 모든 변수를 사용할때 주석과 마찬가지로 초기화 하는 습관을 들여야 하겠습니다.
이상으로 변수를 사용하는 기초에 대해서 작성해보았습니다.
'Coding > C' 카테고리의 다른 글
C의 Data type (0) | 2018.05.03 |
---|---|
C언어 printf 다양하게 사용해보기 (0) | 2018.04.27 |
C언어 주석의 이유와 주석 달기 방법 (2) | 2018.04.27 |
C의 기본 구성 (Hello world 출력) (0) | 2018.04.27 |
- Total
- Today
- Yesterday
- 정보처리기사실기
- PE 구조
- 조커 해석
- ping option
- pingoption
- ping
- printf
- aircrack-ng
- 악성코드
- VMware
- linux ping
- 영화 해석
- 영화 조커
- 정보보안기사
- PE 구조체
- 핑
- reversing
- Network Ping
- pe header
- PE
- peview
- ping 옵션
- 기초
- 올리디비지
- AirCrack
- 정보처리기사
- OllyDbg
- PE header 구조
- C언어
- 리버싱
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |