일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 연결요소
- 구조체와 클래스의 공통점 및 차이점
- 자료구조
- 프레임워크와 라이브러리의 차이
- 시간복잡도
- 알고리즘 공부방법
- Django란
- string 메소드
- 표준 입출력
- 매크로
- 엑셀
- Django의 편의성
- c++
- string 함수
- 장고란
- 백준
- k-eta
- iOS14
- vscode
- 이분그래프
- getline
- 2557
- scanf
- 입출력 패턴
- Django Nodejs 차이점
- UI한글변경
- 입/출력
- double ended queue
- EOF
- correlation coefficient
Archives
- Today
- Total
Storage Gonie
(14) C++ 2차원 배열 본문
반응형
# 배열 선언방법
@ 정적배열
// N * M 행렬
int arr[3][5];
// N * M 행렬
int arr[3][5] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15}};
// 배열 선언시 왼쪽인자를 생략할 수 있음. (오른쪽 인자는 생략 불가, 둘다 생략하는 것도 불가)
int arr[][5] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15}};
@ 동적배열
- 아직까진 사용할 일이 없었어서 학습 보류(동적할당이 필요한 이유 포함)
// 1차원 배열 할당받는 방법
int width = 8;
int *arr;
arr = (int *) malloc ( sizeof(int) * width ); // 동적으로 할당받은 메모리도 배열처럼 접근이 가능함 arr[0], arr[1],,,
// 2차원 배열 할당받는 방법
int height = 6, width = 8;
int **arr;
arr = (int**) malloc ( sizeof(int*) * height );
for(int i=0; i<height; i++){
arr[i] = (int*) malloc ( sizeof(int) * width );
}
//
for(int i=0; i<height; i++){
free(arr[i]);
}
free(arr);
출처: https://codeng.tistory.com/8 [도전!]
# 다양한 배열 초기화 방법(입력으로 배열값 초기화 포함)
@ 초기화값 지정
// 배열의 크기보다 적은 초기화 값이 있으면 나머지 요소는 0으로 초기화된다.
int arr[3][5] = {{1, 2, 3},
{6, 7},
{11}};
// 위의 원리로 다차원 배열의 원소를 모두 0으로 초기화 할 수 있다.
int arr[3][5] = {0};
@ 사용자 입력으로 입력받기
// 초기화 시킬 값만 입력받는 방법
int arr[3][5];
for (int i = 0; i < 3; i++){
for (int j = 0; j < 3; j++){
scanf("%d", &arr[i][j]);
}
}
// 배열의 크기부터 값까지 모두 사용자 입력으로부터 입력받는 방법
int a;
int b;
scanf ("%d %d", &a, &b);
int arr[a][b]; // a, b를 입력받는 scanf 이후에 있어야 오류가 없다.
for (int i = 0; i < a; i++){
for(int j = 0; j < b; j++){
scanf("%d", &arr[i][j]);
}
}
# 배열의 크기 구하는 방법
// N * M 행렬
int arr[3][5] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15}};
int row = sizeof(arr) / sizeof(arr[0]); // 3 : 행 크기
int column = sizeof(arr[0]) / sizeof(int); // 5 : 열 크기
반응형
'알고리즘 > 문제해결을 위한 C++ 공부' 카테고리의 다른 글
(16) C++ algorithm헤더의 reverse함수 (0) | 2019.05.04 |
---|---|
(15) C++ 자주 사용되는 자료형의 범위 (0) | 2019.05.04 |
(13) C++ algorithm헤더의 swap함수 (0) | 2019.04.26 |
(13) C++ algorithm헤더의 sort함수 (0) | 2019.04.26 |
(12) C++ 람다(lambda) 함수 사용법 (0) | 2019.04.25 |
Comments