반응형
배열 사용하기
#include <stdio.h>
int main()
{
int numArr1[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };
int* numPtr1 = numArr1; //포인터에 int형 배열을 할당
int binary[20] = { 0, };
printf("%d\n", numArr1[0]);
printf("%d\n", numArr1[-1]); //인덱스가 범위를 벗어난다면 쓰레기 값을 출력함
printf("%d\n", sizeof(numArr1)); //4바이트 크기의 요소가 10개이므로 40바이트
printf("%d\n", sizeof(numArr1) / sizeof(int)); //배열의 크기를 구할 때에는 전체 공간의 크기를 요소의 크기로 나누어줌
printf("%d\n", *numPtr1); //배열의 주소가 들어있는 포인터를 역참조하면 배열의 첫 번째 요소에 접근
printf("%d\n", *numArr1); //배열 자체를 역참조해도 배열의 첫 번째 요소에 접근
printf("%d\n", numPtr1[5]); //배열의 주소가 들어있는 포인터는 인덱스로 접근할 수 있음
printf("%d\n", sizeof(numArr1)); //sizeof로 배열의 크기를 구하면 배열이 메모리에 차지하는 공간이 출력됨
printf("%d\n", sizeof(numPtr1)); //sizeof로 배열의 주소가 들어있는 포인터의 크기르 구하면 포인터의 크기가 출력됨 int형의 크기 출력됨
return 0;
}
'int numArr1[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 };'과 같은 형태인 '자료형 배열이름[크기] = {값, 값, 값};'로 배열의 선언 및 할당을 할 수 있다.
배열에 값이 저장된 공간을 요소(element)라 합니다. numArr1의 요소는 11, 22, 33, 44, 55, 66, 77, 88, 99, 110이라고 할 수 있겠죠.
이를 모두 0으로 한꺼번에 할 수 있습니다.
'int binary[20] = { 0, };'와 같은 형태인 '자료형 배열이름[크기] = { 0, }'로 배열의 요소를 0으로 모두 초기화할 수 있습니다.
'numArr1[-1]'와 같이 인덱스 범위에 포함되지 않는 값을 할당하게 되면 쓰레기 값이 출력됩니다.
배열의 사이즈를 구하는 방법은 'sizeof(numArr1) / sizeof(int)'와 같은 형태인 'sizeof(배열이름)/sizeof(자료형)'로 사용하시면 될것 같습니다.
반응형
'Language > C언어' 카테고리의 다른 글
C013_구조체 포인터 사용하기 (0) | 2023.09.15 |
---|---|
C012_struct, 구조체에 대해 (0) | 2023.09.14 |
C010_malloc사용하기 (0) | 2023.09.12 |
C009_포인터에 대해(간단히) (0) | 2023.09.11 |
C008_continue와 break (0) | 2023.09.10 |