일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 올리비아 스텐 세면대 세트
- 긍정
- ChatGPT
- 남쪽나무 세면대 세면대 세트 (스마트거울) 벽걸이세면대 이케아세면대 세면기
- 22FW 로고 패치 포켓 체크 셔츠 2F000 03 M2359 F41
- 삼성 갤럭시워치5
- 반스 올드스쿨 VN000D3HY28
- 8052 블랙라인 정사각 세면기
- list #pop #remove #del #append #insert #list형 #파이썬 파이썬 기본 문법 #파이썬 list
- 23SS 스트라이프 오버핏 셔츠 723033 V2L30 9066
- 톰브라운 명품톰브라운 23SS 더블페이스 니트 아우터형 포켓 셔츠 MJT291A 07545 415
- 내셔널지오그래픽 피너스 빅로고 라운드넥 긴팔 티셔츠 카본 블랙
- 봄봄 골드라인 4023G 탑볼세면대 화이트골드 카운타 도기볼 카페세면대
- 리빙앤트리 펠리컨 박스 대
- 잡잡 NBR 요가매트 스탠다드 운동매트 10mm 퍼플
- 코멧 접이식 투명 리빙박스 56L 대형 2개입
- 더블탭스 22SS 정글 01 셔츠 WTAPS JUNGLE 01 GREIGE M
- 1개
- 굿아이템 양면오픈형 투명 접이식 리빙박스 폴딩박스 옷정리함 수납박스 펜트리수납함
- 오토비 AZ100TR 32G 전후방 FHD 2채널 트럭 화물차 전용 블랙박스 보증기간 2년 20m케이블 포함 후방 적외선 방수 AS 2년보장
- 두칸 프릴 오버핏 후드티
- 네스파 다야몬드은박 후드티
- 러버메이드 벤티드 브루트(75L) 원형 컨테이너 리빙박스
- 미네 리빙다이닝 6인 원목 코너형 식탁세트(소파형)
- [제이앤제나] 허리에 무리없는 신생아부터 역류방지쿠션_앨리펀블루 역류방지쿠션
- 대림디움 대림바스플랜 PL-3070 탑카운터형 세면대/욕실/화장실/세면도기
- 22FW 이바나 빈티지 체크 셔츠 더스트핑크 8054631
- 위드리빙 대용량 옷 수납 방수 바구니
- 샤오미 미밴드 7 스마트밴드
- ipTIME 유무선공유기
- Today
- Total
냥집사의 개발일지
C언어 - 다차원 배열(N dimensional array) 본문
안녕하세요 오늘은 C언어에서 다차원 배열의 선언 및 초기화에 대해 정리해보고자 합니다.
1. 2차원 정수형 배열의 선언
아래 코드는 2차원 정수형 배열을 선언하고 모든 배열의 요소를 1로 초기화하고 출력까지 하는 예제입니다.
다차원 배열의 선언 방법은 일차원 배열 선언 방법에 배열 연산자를 추가해주는 것인데요.
예를 들면 일차원 배열 : int arr[2];, 이차원 배열 : int arr[2][2];, 삼차원 배열 : int arr[2][2][2];
이런 식으로 배열을 선언할 수 있습니다.
#include <stdio.h>
void print_arr(int arr[2][3]){
int i,j;
for(i=0; i<2; i++){
for(j=0; j<3; j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
int main(){
int two_dimensional_array[2][3];
int i,j;
for(i=0; i<2; i++){
for(j=0; j<3; j++){
two_dimensional_array[i][j] = 1;
}
}
print_arr(two_dimensional_array);
return 0;
}
2행 3열의 이차원 배열을 선언하고 각 요소에 1로 초기화해줬습니다.
2. 2차원 정수형 배열의 초기화 방법
아래 코드에서 이차원 배열의 선언과 초기화를 동시에 해주었습니다.
중괄호를 이용하여 배열의 초기화를 할 수 있었습니다.
#include <stdio.h>
void print_arr(int arr[2][3]){
int i,j;
for(i=0; i<2; i++){
for(j=0; j<3; j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
int main(){
int two_dimensional_array[2][3] = {
{1,2,3},
{4,5,6}
};
print_arr(two_dimensional_array);
return 0;
}
TIPS 배열 초기화 시 위의 코드처럼 모든 요소를 초기화하는 방법도 있지만 또 다른 방법도 정리해보겠습니다.
1. 일부 초깃값이 생략 가능합니다!
#include <stdio.h>
void print_arr(int arr[2][3]){
int i,j;
for(i=0; i<2; i++){
for(j=0; j<3; j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
int main(){
int two_dimensional_array[2][3] = {
{1},
{4,5}
};
print_arr(two_dimensional_array);
return 0;
}
1행 2열, 3열, 2행 3열의 요소는 생략되어 0으로 초기화되었음을 확인할 수 있었습니다.
2. 행의 수가 생략 가능합니다!
컴파일러가 행의 수를 파악하여 배열을 선언합니다!
#include <stdio.h>
void print_arr(int arr[2][3]){
int i,j;
for(i=0; i<2; i++){
for(j=0; j<3; j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
int main(){
int two_dimensional_array[][3] = {
{1,2,3},
{4,5,6}
};
print_arr(two_dimensional_array);
return 0;
}
행의 수를 생략했음에도 컴파일러는 2행 3열의 배열로 간주하였음을 확인할 수 있었습니다.
3. 일차원 배열의 초기화 방식으로 다차원 배열 초기화가 가능합니다!
#include <stdio.h>
void print_arr(int arr[2][3]){
int i,j;
for(i=0; i<2; i++){
for(j=0; j<3; j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
int main(){
int two_dimensional_array[][3] = {1,2,3,4,5,6};
print_arr(two_dimensional_array);
return 0;
}
선언할 배열은 3개의 열과 6개의 요소를 가지고 있다는 사실을 파악한 컴파일러는 적절한 배열을 선언 및 초기화합니다.
4. 초기화 시 남는 요소는 0으로 초기화됩니다!
#include <stdio.h>
void print_arr(int arr[2][3]){
int i,j;
for(i=0; i<2; i++){
for(j=0; j<3; j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
int main(){
int two_dimensional_array[2][3] = {1,2,3,4};
print_arr(two_dimensional_array);
return 0;
}
2행 3열의 배열 선언 뒤 4개의 요소만이 할당되었으므로 그 이후의 요소들은 0으로 초기화된 것을 확인할 수 있습니다!!
오늘은 C언어에서 다차원 배열의 선언 및 초기화에 대해 알아보았습니다.
1. 2차원 정수형 배열의 선언
2. 2차원 정수형 배열의 다양한 초기화 방법
다음 포스팅 역시 다차원 배열 관련 포스팅으로 이어가겠습니다~
좋은 하루 보내세요~
'C언어' 카테고리의 다른 글
C언어 - 이중 포인터 (Pointer to Pointer) (0) | 2022.09.16 |
---|---|
C언어 - 포인터 배열(array of pointer) (0) | 2022.09.15 |
C언어 - 데이터 공유 (call by value, call by reference) (0) | 2022.09.13 |
C언어 - 변수의 종류 (0) | 2022.09.12 |
C언어 - 배열 & 포인터 (array & pointer) (0) | 2022.09.11 |