"C언어 포인터와 배열"의 두 판 사이의 차이

23번째 줄: 23번째 줄:
     printf("%lu\n", sizeof(a[0])); // 4
     printf("%lu\n", sizeof(a[0])); // 4
     printf("%lu\n", sizeof(a)); // 40
     printf("%lu\n", sizeof(a)); // 40
     printf("%lu\n", sizeof(pa)); // 4
     printf("%lu\n", sizeof(pa)); // 8
}
}
</source>
</source>
:→sizeof(a[0])는 int 배열 하나의 크기를 의미 하므로 4바이트임
:→sizeof(a[0])는 int 배열 하나의 크기를 의미 하므로 4바이트임
:→sizeof(a)는 int a[10] 배열 전체 크기를 의미 하므로 40바이트임
:→sizeof(a)는 int a[10] 배열 전체 크기를 의미 하므로 40바이트임
:→sizeof(pa)는 포인터 (주소방) 기본 크기를 의미 하므로 4바이트임
:→sizeof(pa)는 포인터 (주소방) 기본 크기를 의미 하므로 8바이트임 (주소는 본인의 32/64비트에 따라 다를 수 있음)


[[분류:C]]
[[분류:C]]
[[분류:배열]]
[[분류:배열]]
[[분류:포인터]]
[[분류:포인터]]

2017년 4월 5일 (수) 00:03 판

1 개념

포인터와 배열의 차이

2 형태

  • int a[n]
  • int *pa

3 포인터와 배열의 의미

  • int a[n]
→ 정수형 변수 a가 n개
  • int *pa
→ pa 주소방 1개

4 포인터와 배열의 크기

#include <stdio.h>

int main()
{
    int a[10];
    int *pa;

    printf("%lu\n", sizeof(a[0])); // 4
    printf("%lu\n", sizeof(a)); // 40
    printf("%lu\n", sizeof(pa)); // 8
}
→sizeof(a[0])는 int 배열 하나의 크기를 의미 하므로 4바이트임
→sizeof(a)는 int a[10] 배열 전체 크기를 의미 하므로 40바이트임
→sizeof(pa)는 포인터 (주소방) 기본 크기를 의미 하므로 8바이트임 (주소는 본인의 32/64비트에 따라 다를 수 있음)
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}