2차원 배열 이해

2019. 9. 29. 13:59·C/C

 

다음과 같은 2차원 배열 선언 소스코드가 있다고 치자

 

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
#include <stdio.h>
 
int main(void)
{
    int arr[3][5]= {
    {1,2,3,4,5},
    {6,7,8,9,10},
    {11,12,13,14,15}
    };
    int i = 0, j = 0;
    int (*p)[5] = &arr[0]; //arr
    
 
    
    for(i = 0 ; i < 3; i++)
    {
        for( j = 0 ; j < 5; j++)
        {
            printf("%2d ", p[i][j]); 
        }
        printf("\n");
    }
 
    return 0;
            
}

 

행렬로 표현하면

이런 구조이지만 이건 사람의 관점이고
소스 결과창

 

사실 메모리상에는

이런 식으로 저장되어있다. (일렬로)

 

요딴걸 왜 살펴보고냐고?

int (*p)[5] 는 왜 있냐고?

사실 요 배열에 대한 포인터는 2차원 배열을 쓰기 위한 밑거름이다.

 

 

 

추후 관련 예제를 코딩해보며 살펴보자!

'C > C' 카테고리의 다른 글

파일 입출력 fopen  (0) 2019.11.10
Memory Map 이해하기(Feat.성적처리 프로그램 소스)  (0) 2019.10.02
배열 초기화 사소한 Tip  (0) 2019.09.26
성적 처리 프로그램 (분석->설계->구현)  (0) 2019.09.20
선택정렬 구현해보기 (feat. Flow Chart)  (0) 2019.09.17
'C/C' 카테고리의 다른 글
  • 파일 입출력 fopen
  • Memory Map 이해하기(Feat.성적처리 프로그램 소스)
  • 배열 초기화 사소한 Tip
  • 성적 처리 프로그램 (분석->설계->구현)
M_Falcon
M_Falcon
  • M_Falcon
    Falcon
    M_Falcon
  • 전체
    오늘
    어제
    • 분류 전체보기 (432)
      • Web (16)
        • Nodejs (14)
        • Javascript (23)
        • FrontEnd (4)
      • DataBase (39)
        • Fundamental (1)
        • Redis (4)
        • PostgreSQL (10)
        • NoSQL (4)
        • MySQL (9)
        • MSSQL (3)
        • Error (4)
      • Algorithm (79)
        • Algorithm (문제풀이) (56)
        • Algorithm (이론) (23)
      • JVM (65)
        • Spring (13)
        • JPA (5)
        • Kotlin (13)
        • Java (24)
        • Error (7)
      • 기타 (70)
        • Kafka (3)
        • Kubernetes (3)
        • Docker (13)
        • git (19)
        • 잡동사니 (27)
      • 재테크 (11)
        • 세무 (4)
        • 투자 (3)
        • 보험 (0)
      • BlockChain (2)
        • BitCoin (0)
      • C (32)
        • C (10)
        • C++ (17)
        • Error (3)
      • Low Level (8)
        • OS (3)
        • 시스템 보안 (5)
      • 네트워크 (3)
      • LINUX (30)
        • Linux (26)
        • Error (4)
      • 저작권과 스마트폰의 이해 (0)
      • 생각 뭉치 (6)
      • 궁금증 (2)
      • Private (4)
        • 이직 경험 (0)
        • 꿈을 찾아서 (1)
      • Android (21)
        • OS (4)
  • 블로그 메뉴

    • 홈
    • WEB
    • 알고리즘
    • DataBase
    • Linux
    • Mobile
    • C
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    linux
    java
    kafka
    docker
    Spring
    JPA
    android
    javascript
    Git
    database
    알고리즘
    ubuntu
    프로그래머스
    Kotlin
    Programmers
    백준
    algorithm
    Bitcoin
    PostgreSQL
    C++
  • hELLO· Designed By정상우.v4.10.3
M_Falcon
2차원 배열 이해
상단으로

티스토리툴바