게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
배열의 크기 질문
게시물ID : programmer_8720짧은주소 복사하기
작성자 : 자켄
추천 : 0
조회수 : 443회
댓글수 : 4개
등록시간 : 2015/03/18 21:00:15
옵션
  • 본인삭제금지
 
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
#include<stdio.h>
 
int main()
{
    int i, j;
    int arr[2][4] = { 1, 2, 3, 4, 5, 6, 7, 8 };
    printf("%d %d %d \n", arr, arr[0], arr[1]);
    printf("arr-arr[0] =%d  \n", *arr - arr[0]);
    printf("arr[1]-arr[0] =%d \n", arr[1] - arr[0]);
    printf("int size= %d (byte)\n", sizeof(int));
    printf("arr size= %d (byte)\n\n", sizeof(arr));
 
    printf("arr[0] size= %d (byte)\n", sizeof(arr[0]));
    printf("arr[1] size= %d (byte)\n\n", sizeof(arr[1]));
 
    printf("원소의 갯수 sizeof(arr) / sizeof(arr[0]) = %d \n", sizeof(arr) / sizeof(arr[0]));
    printf("원소의 갯수 sizeof(arr) / sizeof(int) = %d \n", sizeof(arr) / sizeof(int));
    int(*who_b)[4] = arr;
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 4; j++)
        {
            printf("%d ", who_b[i][j]);
        }
        printf("\n");
    }
    return 0;
}
배열크기.JPG
 
아래 다른분 질문올려놓은거 연습해보다 궁금한게 있어 질문 올립니다.
 
6번째 줄 배열 arr를 int형으로 선언했습니다.
int 크기는 4 byte
배열의 크기(arr)는 32 byte로 나옵니다.
 
[질문]
배열의 요소  하나 크기를 보면 arr[0]는 16 byte로 나오는데 왜 이렇게 나오나요?
배열을 int 형으로 선언했으면 배열의 요소 하나도 4 byte로 나와야 되는거 아닌가요?
 
어떻게 이해해야할까요?
배열의 크기로 배열속에 있는 원소의 갯수를 알아보려고 했는데 16번째줄로 하면 안되고 17번째줄처럼 해야 원소의 갯수를 알 수 있네요.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호