C언어 - 배열요소의 개수 계산(sizeof)

2022. 7. 4. 15:24·C프로그래밍/개인 공부

배열 요소의 개수 계산 방법

sizeof 연산자 : 자료형이나 변수의 크기를 바이트 단위로 계산

sizeof 연산자로 배열 전체의 크기를 구하고 이것을 배열 원소의 크기로 나누게 되묜 배열 원소가 몇개있는지 계산 가능

 

1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
 
int main(void)
{
    int nums[] = {3, 5, 6, 8, 3, 2};
 
    printf("%d", sizeof(nums));
 
    return 0;
}
 
>>>24
Colored by Color Scripter
cs

nums라는 배열을 선언하고 초기화 한다.(원소가 6개 있으므로 배열을 6칸으로 자동으로 잡아줌)

int형으로 배열을 선언했기 때문에 6칸x4바이트 = 총 24바이트 why? sizeof연산자는 바이트 단위로 계산하기때문이다.

 

그러면 요소의 개수가 몇개인지는 어떻게 계산할 것인가?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
 
int main(void)
{
    int nums[] = {3, 5, 6, 8, 3, 2};
    int size;
 
    size = sizeof(nums) / sizeof(nums[0]);
 
    printf("%d", size);
 
    return 0;
}
 
>>>6
Colored by Color Scripter
cs

sizeof(nums)로 배열 nums의 크기를 계산해주고 24바이트가 나옴.(4바이트짜리 칸이 6개가 있기 때문에)

sizeof(nums[0])로 첫번째 요소의 크기를 계산하면 4바이트가 나옴.(각 요소마다 차지하는 바이트가 같기때문에 어느 요소로 해도 상관은 없음)

나누면? 6이 나온다. 배열 요소의 개수가 나옴

'C프로그래밍 > 개인 공부' 카테고리의 다른 글

C언어 - 쉽게 풀어쓴 C언어 express 10장 배열 실습문제(짝수번)  (0) 2022.07.13
C언어 - 정렬  (0) 2022.07.06
C언어 - 배열과 함수  (0) 2022.07.06
C언어 - 배열의 복사, 비교  (0) 2022.07.04
C언어 - 포인터1, 선언과 초기화  (1) 2022.05.25
'C프로그래밍/개인 공부' 카테고리의 다른 글
  • C언어 - 정렬
  • C언어 - 배열과 함수
  • C언어 - 배열의 복사, 비교
  • C언어 - 포인터1, 선언과 초기화
Minu Jin
Minu Jin
정보의 바다
  • Minu Jin
    뇌 구조가 바이너리
    Minu Jin
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C프로그래밍
        • 오류해결
        • 개인 공부
        • Programming Lab(학교수업)
        • MemoryTracker
      • C++
        • 개인 공부
      • 자료구조(Data Structure)
      • ARM arch
        • Cortex-M
        • FreeRTOS
      • 컴퓨터 공학(Computer Science)
        • OS
        • 컴퓨터 구조
      • Qualcomm 기업과제
      • Linux
        • start_contribute()
        • start_analyse()
      • Web
      • 똥글
      • 백준
      • Git 학습
        • 오류해결
        • 학습중
      • Python
        • 오류해결
        • 개인 공부
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    앤드류모튼
    포인터
    소수
    피보나치
    rubik pi
    스택
    동적메모리
    자료구조
    yolo
    리눅스
    백준
    버퍼
    rubikpi3
    시스템콜
    Git
    파일 입출력
    commit
    커널
    arm
    드라이버 분석
    순환
    토발즈
    파이썬
    이진 트리
    c언어
    커널 기여
    Qualcomm
    INIT
    C++
    Branch
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minu Jin
C언어 - 배열요소의 개수 계산(sizeof)
상단으로

티스토리툴바