몽상실현개발주의

[따배씨] 10.5 2차원 배열과 메모리 본문

Language/C

[따배씨] 10.5 2차원 배열과 메모리

migrationArc 2021. 6. 5. 23:26

[따배씨] 10.5 2차원 배열과 메모리

따배씨 - 따라하며 배우는 C언어

10강 배열과 포인터

10.5 2차원 배열과 메모리

  • 2차원 배열도 메모리는 1차원

 

#include <stdio.h>

int main(){
    int arr[2][3] = { {1, 2, 3},
                      {4, 5, 6}};
    
    printf("%d\n\n", arr[1][1]);
    
    for (int j = 0; j < 2; ++j){
        for (int i = 0; i < 3; ++i){
            printf("%d ", arr[j][i]);
        }
        
        printf("\n");
    }
    return 0;
}
  • 배열의 값을 호출 할때, 메모리 구조 같은 순서로 호출하면 성능상 이득이 있음

 

#include <stdio.h>

int main(){
    int arr[2][3] = { {1, 2, 3},
                      {4, 5, 6}};
    
    int *ptr = &arr[0][0];
    
    for (int i = 0; i < 6; ++i)
        printf("%d ", ptr[i]);
    printf("\n");
    return 0;
}
  • 2 차원 배열을, 메모리 주소를 이용하여 1차원 배열처럼 호출 가능

 

#include <stdio.h>

int main(){
    int arr[2][3] = { {1, 2, 3},
                      {4, 5, 6}};
    
    printf("%zd %zd\n", sizeof(arr), sizeof(arr[0]));
    // 24 12
    
    return 0;
}

 

 

 

 


이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.

http://blog.naver.com/atelierjpro

 

실리콘 밸리의 프로그래머 : 네이버 블로그

안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.

blog.naver.com

http://www.inflearn.com/course/following-c

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com

 

 

 

Comments