C언어의 변수 정리.
1. 변수의 선언, 초기화
2. 변수의 데이터형 종류
3. 변수의 유효범위 종류
변수(Variable)의
선언과 초기화
변수의 선언
데이터형 변수명;
|
ex)
int number;
char munja;
float silsoo;
|
변수의 초기화
변수명 = 값; |
ex)
number = 3;
munja = 'E';
silsoo = 3.14; |
변수의 선언, 초기화 함께 하기. |
ex)
int a, *ptr, number = 3;
/* 같은 데이터형의 여러 변수를 함께 선언, number 변수는 3으로 초기화 */
float silsoo = 3.14; /* float형 변수 silsoo를 3.14로 초기화
*/ |
변수의 데이터형(type)
종류
데이터형 |
크기(bit) |
소속그룹 |
printf()에서
표시 |
기타 |
int |
16 |
정수 |
%d |
. |
short |
16 |
정수 |
%d |
. |
long |
32 |
정수 |
%ld |
큰 숫자 |
float |
32 |
실수 |
%f |
유효숫자 7개 |
double |
64 |
실수 |
%f |
유효숫자 15개 |
long double |
80 |
실수 |
%f |
유효숫자 19개 |
char |
8 |
문자 |
%c |
문자 1개 |
|
. |
부호없음 |
%u |
다른 형과 조합 |
변수의 유효범위
종류.
형태: 데이터형 변수명;
일반적인 변수.
함수의 안에서 선언한다.
선언된 함수 안에서만 사용된다.
함수가 끝나면 소멸한다. |
ex)
#include <stdio.h>
int add5(int a); /* add5 함수의 프로토타입 선언 */
void main(void){
int localvar1
= 0; /* local 변수 선언과 초기화 */
printf("localvar1 = %d
\n ", localvar1);
for(int i=0; i < 5; i++){
localvar1
= add5(localvar1);
printf("localvar1 = %d
\n ", localvar1);
}
}
int add5(int a){
int result =
0; /* local 변수 선언과 초기화 */
printf("local variable
\'result\' in function = %d\n", result);
result
= a + 5;
return result;
} |
형태: 데이터형 변수명;
함수의 시작 전에 선언해 주어야 한다.
프로그램이 시작되었을 때부터 끝날 때까지 존재한다.
모든 함수에서 사용된다.
초기화를 해놓지 않을 경우 프로그램이 시작되면 0으로 초기화된다.
다른 Global 함수와 이름이 중복되면 안된다.
다른 화일에서 쓸 경우에는 extern 데이터형 변수명; 으로
함수의 앞에 선언해 주어야 한다. |
ex)
#include <stdio.h>
int globval;
/* Global 변수 선언 */
void globIncrem(void);
/* 다른 화일에 있는 globIncrem 함수의 프로토타입 선언 */
void main(void){
printf("globval
= %d ", globval);
for(int i=0; i <
10; i++){
globIncrem();
/* 다른 화일에 있는 globIncrem 함수 호출 */
printf("%d
", globval);
}
printf("\n");
}
-다른 화일--------------------------------------------------
extern int globval;
/* 다른 화일에 있는 Global 변수를 사용하겠다는 것을 알림*/
void globIncrem(void){
globval++;
} |
형태: static 데이터형 변수명;
1. 함수의 안에서 선언할 경우.
함수가 끝나도 소멸하지 않고 프로그램이 끝날 때까지 존재한다.
다른 함수에서 사용할 수 없다.
2. 함수의 밖에서 선언할 경우.
함수가 끝나도 소멸하지 않고 프로그램이 끝날 때까지 존재한다.
같은 화일 안, 선언된 곳 아래의 다른 함수에서 사용할 수 있다. |
ex1) 함수 안에서 선언할 경우
#include <stdio.h>
int add5(int a); /* add5 함수의 프로토타입 선언 */
void main(void){
int localvar = 0; /*
local 변수 선언과 초기화 */
printf("localvar = %d
\n", localvar);
for(int i=0; i < 5; i++){
localvar = add5(localvar);
printf("localvar = %d
\n", localvar);
}
}
int add5(int a){
static int result
= 0; /* static 변수 선언과 초기화
*/
int retvar = 0;
/* local 변수 선언과 초기화 */
printf("static variable
\'result\' in function = %d\n", result);
retvar = a + 5;
result
+= retvar;
return retvar;
}
|
ex2) 함수 밖에서 선언할 경우
#include <stdio.h>
int add5(int a); /* add5 함수의 프로토타입 선언 */
void staticadd(void); /* staticadd 함수의 프로토타입
선언 */
void main(void){
int localvar = 0; /*
local 변수 선언과 초기화 */
printf("localvar = %d\n",
localvar);
for(int i=0; i < 5; i++){
localvar = add5(localvar);
printf("localvar = %d\n",
localvar);
staticadd();
printf("localvar = %d\n",
localvar);
}
}
static int result = 0;
/* static 변수 선언과 초기화 */
/* static 변수 result는 아래의 모든 함수에서 쓸 수 있다.*/
int add5(int a){
int retvar = 0;
/* local 변수 선언과 초기화 */
printf("static variable
\'result\' in function = %d\n", result);
retvar = a + 5;
result +=
retvar;
return retvar;
}
void staticadd(void){ result++; }
|
-2007.11.17
|