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

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

배열 요소의 개수 계산 방법

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이 나온다. 배열 요소의 개수가 나옴

728x90

'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, 선언과 초기화
Jminu
Jminu
    250x250
  • Jminu
    뇌 구조가 바이너리
    Jminu
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C프로그래밍
        • 오류해결
        • 개인 공부
        • Programming Lab(학교수업)
        • MemoryTracker
      • C++
        • 개인 공부
      • 자료구조(Data Structure)
      • 컴퓨터 공학(Computer Science)
        • OS
        • 컴퓨터 구조
      • Web
      • Linux
      • 똥글
      • 백준
      • Git 학습
        • 오류해결
        • 학습중
      • Python
        • 오류해결
        • 개인 공부
      • Qualcomm 기업과제
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Batch OS
    Git
    원형 덱 구현
    c언어
    커널
    파일 입출력
    Branch
    피보나치
    rubikpi3
    rubik pi 3
    그래서 컴퓨터는 어떻게 동작하나요?
    동적 배열 스택
    스택
    버퍼
    커밋 아이디
    commit
    자료구조
    파이썬
    순환
    이진 트리
    백준
    루빅보드
    포인터
    소수
    가상 주소 공간
    INIT
    매개변수 포인터
    C++
    yolo
    동적메모리
  • 최근 댓글

  • 최근 글

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

티스토리툴바