[C언어] 변수

언어/C 2017. 6. 2. 23:35
728x90

변수란 무엇일까?

-변수라고 하면 변하는 수 라고 할수있지만 좀더 정확하게 말하면 을 저장할 수 있는 메모리 공간에 붙여진 이름이다.


그러면 변수는 어떻게 사용 할까?

 int num;


 자료형 변수이름;



위에 처럼 선언 할 수 있다. int는 변수가 어떤 값을 저장 할수 있는지를 나타내는 자료형이며, num은 그변수의 이름이다. 또한 여기서는 알수 없지만 이 변수는 어떤 랜덤값의 주소값을 가지게 된다.


변수명(이름)은 어떻게 짓던지 상관 없을까?


변수를 선언할때에 몇가지 규칙이 있다.


1)대문자(A~Z), 소문자(a~z), 숫자(0~9), 밑줄문자(_)를 사용한다.

잘못된 사용방법 : int &num, int count#

2)변수명은 숫자로 시작할 수 없다.

잘못된 사용방법 : int 3name

3)변수명으로 기본 예약어 또는 함수명을 사용하루 없다.

잘못된 사용방법 : int int;

4)변수명의 길이는 제한이있다.(ANSI C가 31자 MS-C가 247자)

5)변수명은 대문자와 소문자를 다르게 구분한다.

int Num, int num num과 Num은 다른변수이다.

6)변수명으로 한글을 사용할수 없다.

int 이름


int 말고 자료형에는 어떤것들이 있을까?

종류 

데이터형 

메모리 크기 

저장 가능한 값의 범위 

표현범위 

 정수형

 char

 1바이트

-128 ~ 127

양수, 0, 음수 

 

unsigned char 

1바이트 

 0 ~ 255

양수, 0 

 

 short

 2바이트

 -32,768 ~ 32,767 

 양수, 0, 음수

 

 unsigned short

 2바이트

 0 ~ 655,535

 양수, 0

 

 int

 4바이트

 -2,147,483,648 ~ 2,147,483,647

 양수, 0, 음수

 

 unsigned int

 4바이트

 0 ~ 4,294,967,295

 얌수, 0

 

 long

 8바이트

-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

양수, 0, 음수 

 

 unsigned long

8바이트

 0 ~ 18,446,744,073,709,551,616

양수, 0, 음수 

 실수형

 float

 4바이트

 1.2E-38 ~ 3.4E38

양수, 0, 음수

 

 double

 8바이트

 2.2E-308 ~ 1.8E308

양수, 0, 음수 


컴퓨터에따라 메모리크기는 달라질수 있습니다.

변수의 초기화

c언어에서 변수를 초기화하는 방법은 두가지가 있다. 첫 번째 선언과 동시에 초기화하는 방법, 두 번째는 미리 선언을 한 후 초기화하는 것이다.

 int total = 2;


 int total;

total = 2;


왜 변수를 초기화 해야할까?

변수를 초기화 시켜줘야 하는이유는 바로 변수를 생성할때 쓰레기 값을 가지기 때문이다. 쓰레기 값이란 우리가 생성한 변수안에 의미없는 수가 들어가있는것을 쓰레기 값이라고한다.


물론  쓰레기 값을 가지는것은 지연변수를 선언할때만 쓰레기 값을 가지고 전역변수로 선언하면 쓰레기값대신에 0을 가지게 된다.


지역변수와 전역변수는 난중에 설명하겠다.



혹시 궁금하시거나 잘못되어있는 부분이 있으면 댓글로 알려주세요~




'언어 > C' 카테고리의 다른 글

[C]메모리 동적할당(malloc)  (0) 2018.01.26
[C언어] 기본 입력함수  (2) 2017.06.08
[C언어] 기본 출력함수  (2) 2017.06.04