기본 콘텐츠로 건너뛰기

배열

배열은 동일한 자료형으로 구성된 기억 장소의 집합이다. 배열 내의 특정 위치를 지칭하기 위해서 첨자를 사용한다. 배열의 첨자는 대괄호 [ ]로 표현한다. 배열의 요소는 항상 0부터 시작하며, 마지막 요소의 번호는 n-1이 된다. 배열명은 배열의 시작 주소이다.
 1 자료형 배열명[갯수];



다차원 배열

2차원 배열은 2개의 첨자를 가지며, 3차원 배열은 3개의 첨자를 가진다. 배열의 차원에는 제한이 없다.
2차원 배열의 요소는 1차원 배열이다. 2차원 배열에서 행의 숫자는 생략할 수 있다.

 1 자료형 배열명[갯수][갯수];



초기화

 1 int arr[4] = {10, 20, 30, 40};
 2 int arr[] = {10, 20, 30, 40};
 3 int arr[4][2] = {10, 20, 30, 40, 50, 60, 70, 80};
 4 int arr[4][2] = {{10, 20}, {30, 40}, {50, 60}, {70, 80}};
 5 int arr[4] = {10, 20, 30, }; // 쉼표를 사용하면 마지막 요소는 0으로 초기화된다.



배열의 크기

 1 #include <stdio.h>
 2 
 3 /*
 4     배열의 크기
 5 */
 6 
 7 int main ()
 8 {  
 9     int arr[] = {1, 2, 3, 4};
10 
11     printf("%d\n", sizeof(arr)/sizeof(int));
12 
13     system("PAUSE");
14     return 0;
15 }




문자의 배열

문자열을 저장하기 위해서는 문자형배열을 이용할 수도 있고, 포인터를 이용할 수도 있다. 배열의 이름은 포인터의 역할을 하므로, 두 가지는 실제로 같은 것이라 볼 수 있다.
문자열의 마지막에는 널문자가 포함되야 하므로, 문자형 배열의 크기는 실제 문자의 갯수보다 1이 커야한다.
 1 char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
 2 char str[6] = "Hello";
 3 char* str = "Hello";

댓글

이 블로그의 인기 게시물

연산자 우선 순위

() (괄호) [] (배열) -> (포인터멤버) . (구조체멤버) ! (부정) ~ (1의보수) ++ (증가) -- (감소) - (부호)  + (부호)  (자료형) (형변환)  * (포인터)  & (주소)  sizeof * (곱셈) / (나눗셈) % (나머지) + (덧셈) - (뺄셈) << >> (비트이동) < <= > >= (관계) == != (관계) & (비트논리곱) ^ (비트배타논리합) | ( 비트논리합 ) && (논리곱) || (논리합) ?: (조건) = (할당) += -= *= /= %= &= ^= |= <<= >>= (복합할당) , (쉼표)

주석문

주석(comment)은 프로그램의 기능이나 동작을 메모해두는 문장이다. 컴파일러는 주석의 내용을 무시한다. 여러 줄 주석 시작 기호(/*)와 끝 기호(*/)는 반드시 쌍으로 사용되어야하며, 중복해서 사용되어서는 안된다. 1 /* 2 주석 3 */ 한 줄 주석 원칙적으로, 한 줄 주석문은 C++언어에서 지원되는 형식이다. 1 // 주석

포인터

포인터는 다른 변수의 주소값을 가지는 특별한 변수이다. *는 포인터의 내용 연산자이다. &는 포인터의 주소 연산자이다.  일반 변수 포인터 변수   선언  int a; // 정수형 변수 a  int *a; // 포인터 변수 a를 종수형으로 선언  값 할당  int a = 100; // 변수 a에 100할당  *a = 100; // a 주소에 100 할당  주소 참조  &a; // 변수 a의 주소  a; // 주소  주소 연산  할 수 없음  a--; // 포인터를 1 감소 선언 1 자료형 * 포인터변수명 ; 1 int * p ; 변수 p는 포인터 변수이며, 정수형의 값을 가지는 변수에 대한 주소를 가진다. 선언시에 사용되는 *는 내용 연산자가 아니다. 초기화 포인터 변수는 반드시 초기화 후에 사용해야 한다. 1 int * p ; 2 int i ; 3 p = & i ; 포인터 변수의 크기 포인터 변수의 자료형은 포인터가 가르키는 변수의 자료형이다. 포인터 변수의 크기는 포인터가 가르키는 자료형의 크기와 무관하다. 1 #include <stdio.h> 2 3 /* 4 포인터의 크기 5 */ 6 7 int main () 8 { 9 int i = 4 ; 10 int * p_i = & i ; 11 char ch = 'a' ; 12 char * p_ch = & ch ; 13 double dbl = 1.0 ; 14 double * p_dbl = & dbl ; 15 16 printf ( "%d \n " , sizeof ( p_i )); 17 printf ( "%d \n " , size...