언어 자료구조 알고리즘/C 언어 문법

8. 변수의 선언과 초기화

언제나휴일 2009. 8. 19. 05:47
반응형
변수의 선언과 초기화

 

다루는 내용

   - 변수(와 상수)의 선언과 정의, 초기화

 

 형식은 프로그램에서 사용할 데이터 인스턴스들에 대한 추상화일 뿐 실제 데이터를 보관할 수 있는 구체화된 인스턴스는 아니다.  추상화된 형식을 구체화를 통해 인스턴스화하는 것이 변수이다.  즉, 데이터를 위해 메모리를 할당받아 값을 보관하고 사용할 수 있는 것이 변수이다.

 

1. 변수(와 상수)의 선언과 정의, 초기화

변수(와 상수)의 경우는 선언을 하면 값이 default값으로 정의된다.  전역 변수와 정적(static) 변수의 경우는 0으로 지역 변수의 경우는 쓰레기 값(garbage value)이 default값이다.  만약, 다른 값으로 정의를 하고 싶으면 선언과 동시에 초기화 구문을 사용하면 된다.

 

기본 형식의 변수의 선언 및 초기화 

기본 형식

선언 형식명  변수명;
선언 및 초기화 형식명  변수명 = 초기 값;

int a;

int b = 2; 

 

배열의 선언 및 초기화   

배열

선언 원소 형식 배열명[원소개수]
초기화 원소형식 배열명[원소개수] = {초기 값 리스트};
선언 원소 형식의 일부 배열명[원소개수]원소형식의 일부; 
초기화 원소 형식의 일부 배열명[원소개수]원소형식의 일부={초기 값 리스트}; 

int arr1[10] ;

int arr2[10]={1}; //첫번째 원소는 1로 초기화, 나머지는 0으로 초기화

int arr3[10][4]; //배열명: arr3, 원소 개수 4, 원소 형식: int  [4]

int arr4 [10][4] = { {1,2},{2,3}}; //초기값이 명시되지 않은 멤버는 0으로 초기화

 

포인터의 선언 및 초기화  

포인터

선언 원소 형식 *포인터 변수명
초기화 원소형식 *포인터 변수명 = 초기 값;
선언 원소 형식의 일부 (*포인터 변수명) 원소 형식의 일부;
초기화 원소형식의 일부 (*포인터 변수명) 원소 형식의 일부 = 초기 값;

int *p1;

int *p2=0;

int (*p3)[10]; //포인터 변수명: p3 , 원소 형식: int [10]

int (*p4)[10] = 0;

 

함수의 선언 및 정의  

함수

선언 리턴 형식  함수명 (입력 매개변수 리스트);
정의 리터 형식 함수명 (입력 매개변수 리스트)
{
    statement 리스트
}

 

  구조체의 선언 및 정의

구조체
정의 typedef struct 태그명 형식명
struct 태그명
{
    멤버리스트
};
선언 형식명 변수명;
초기화 형식명 변수명 = {초기값 리스트};

* 공용체의 경우는 예약어 struct 대신 union 들어가는 것만 다르다. 

 

 

 

 

반응형