Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- Python
- react
- Android
- RaspberryPi
- OAuth
- jetbrains
- 루비
- plugin
- boj
- kotlin
- GitHub
- OTLanguage
- C
- ruby
- CPP
- Shell
- rubymine
- Godot
- error
- gradle
- Spring
- Vane
- gnuplot
- 개발노트
- ruby2d
- Baekjoon
- maven
- IntelliJ
- JS
- Java
Archives
- Today
- Total
PersesTitan(페르) 기술블로그
[C] C언어에서 배열 길이 구하기 (sizeof) 본문
저는 메인 언어가 Java이다 보니 length를 사용하여 배열을 구현하였지만 C에서는 length가 없기 때문에 직접 크기를 구해어야했습니다.
sizeof
sizeof
를 사용하면 해당 타입의 크기를 반환해주는데요. 예시로 int
는 4byte
의 크기를 가지고 있기 때문에 int 타입을 sizeof를 사용하여 값을 구하면 4라는 값이 출력됩니다.
예시
(...)
int i = 0;
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(i));
(...)
출력
4
4
해당 기능을 이용하여 배열의 길이를 구할 수 있는데요. 배열은 기본타입사이즈 * 배열의길이
의 값이 나오는데요.
예시로 int[10]
인 배열은 int 가 4, 배열의 크기가 10이므로 40의 값이 출력되게 됩니다.
따라서 배열의 길이만 구하고 싶다면 배열의 sizeof
/ 기본타입사이즈
를 해주면 배열의 길이를 구할 수 있게 됩니다.
예시
(...)
int array[10];
// sizeof(array) == 40
// sizeof(int) == 4
// sizeof(array) / sizeof(int) == 10
printf("%d", sizeof(array) / sizeof(int));
(...)
출력
10
'Language > C' 카테고리의 다른 글
[C] 포맷 (format) 종류 정리 (0) | 2023.06.16 |
---|---|
[C] 10진수 2진수로 변환 (특이하게 변환해보기) (0) | 2023.04.05 |
[C++] 출력하기 (0) | 2023.03.09 |
[C][C++] GCC 다운로드 하기 (0) | 2023.03.04 |
[C][CPP] 자동 컴파일 제작 (0) | 2023.03.04 |