참고 문서 |
---|
배열을 초기화한 예
초기화 값은 배열 메모리 내에 순서대로 저장된다.
배열의 초기화란 선언과 동시에 배열에 값을 할당하는 것이다.
int arr[5] = {1,2,3,4,5}; /* 1차원 숫자 배열 초기화 */ char str[5] = {'a','b','c','d'} /* 1차원 문자 배열 초기화 */ char str[5] = "king"; /* 1차원 문자 배열 초기화(문자열) */ int arr[2][3] = {5,6,7,8,9,10}; /* 2차원 숫자 배열 초기화 */ int arr[2][3] = {{5,6,7},{8,9,10}}; /* 2차원 숫자 배열 초기화 */
함수 내에 선언되는 배열은 초기화하지 않으면 임의의 값(쓰레기 값)을 갖는다.
하지만, 선언시 초기화되는 배열은 지정된 초기화 값을 저장하고 남은 배열 영역을
0(정수형이나 실수형은 0, 문자형은 null)으로 초기화시킨다
배열 초기화
다차원 배열의 초기화는 여러 가지 방법으로 초기화될 수 있다.
arr[2][3] = {1,2,3,4,5,6}; arr[2][3] = {{1,2,3},{4,5,6}};
위 두 선언문은 같은 데이터를 arr 배열 영역에 저장한다.
표현만 다를 뿐 저장되는 내용은 같다.
두 번째 선언문의 안쪽 중괄호는 2차원 배열의 각 행의 데이터를 의미한다. 따라서
첫 번째 행에 1,2,3을 두 번재 행에 4,5,6을 할당한 것이다.
str_arr6.c // 5명의 성명을 입력 받아 문자 배열에 저장한 후 출력시키는 예
#include <stdio.h> int main(void) { char names[5][20]; int i; for(i=0;i<5;i++) { printf("%d, 성명 ? ", i+1); gets(names[i]); /* 문자열 입력 */ } for(i=0;i<5;i++) printf("%s, %p \n", names[i], names[i]); /* 문자열 출력 */ printf("\n"); return 0; }
str_arr7.c // 3차원 배열의 이해
#include <stdio.h> int main(void) { int num[3][4][5]; int i,j,k, n; for(i=0;i<3;i++){ /* 면을 제어 */ n=0; for(j=0;j<4;j++) /* 행을 제어 */ for(k=0;k<5;k++){ /* 열을 제어 */ n++; num[i][j][k]=n; }; } for(i=0;i<3;i++){ /* 제어변수 i는 면을 구분한다. */ printf("%d 면 출력\n", i); for(j=0;j<4;j++){ /* 제어변수 j는 행을 구분한다. */ for(k=0;k<5;k++) /* 제어변수 k는 열을 구분한다. */ printf("%5d", num[i][j][k]); printf("\n"); /* 5열 출력 후 줄 바꿈 */ } } return 0; }
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
43 | 구조체 포인터 | 2014.06.15 | 931 |
42 | 구조체의 선언과 데이터 입·출력 | 2014.06.15 | 3084 |
41 | 함수 포인터 | 2014.06.15 | 447 |
40 | 배열과 포인터 | 2014.06.15 | 406 |
39 | 포인터 연산 | 2014.06.15 | 384 |
38 | 포인터 변수 | 2014.06.15 | 414 |
37 | 데이터 정렬 | 2014.06.15 | 424 |
» | 배열 초기화 | 2014.06.14 | 630 |
35 | 2차원 배열 | 2014.06.14 | 670 |
34 | 문자열 처리 함수 | 2014.06.14 | 412 |
33 | 문자열 입출력 함수 | 2014.06.14 | 442 |
32 | 접근 수정자 | 2014.06.14 | 824 |
31 | 전역 변수 | 2014.06.14 | 308 |
30 | 지역 변수(local variable) | 2014.06.14 | 295 |
29 | 변수와 메모리 저장 위치 | 2014.06.14 | 428 |
28 | 비트 연산자 | 2014.06.14 | 288 |
27 | 관계 연산자와 논리 연산자 | 2014.06.14 | 472 |
26 | 증감 연산자 | 2014.06.14 | 319 |
25 | printf() 함수의 형식 지정자 | 2014.06.14 | 7522 |
24 | 열거 형 변수의 이해 | 2014.06.14 | 465 |