자료구조 - 배열 (Array)프로그래밍 공부/자료구조&알고리즘 공부2022. 6. 11. 16:51
Table of Contents
자료구조란?
데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계
데이터 단위는 데이터를 구성하는 한 덩어리라고 생각하면 되며,
자료 구조는 쉽게 말해서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이라고 한다.
배열
배열은 같은 자료형의 변수로 이루어진 요소(element)가 모여 직선 모양으로 줄지어 있는 자료구조
C언어 배열의 선언은 아래와 같이 한다.
자료형 배열이름[요소의 개수];
- 배열의 선언
상수를 정의 후에 배열을 선언 할 수 있다.
#include<stdio.h>
#define N 5 // 배열 요소의 개수를 정의한다.
int main(void)
{
int a[N];
}
배열의 요솟값을 초기화 하며 배열 선언하기
#include<stdio.h>
int main(void)
{
// 배열의 인덱스는 0부터 시작
// a[0] = 1, a[1] = 2 ~ 순서대로 초기화가 된다.
int a[5] = {1,2,3,4,5};
// 배열의 요소 개수 알아내기
int count = sizeof(a) / sizeof(a[0]);
}
a라는 5개의 요소를 가진 배열의 {} 중괄호 안에 차례대로 값을 넣어서 초기화를 시켜줄 수 있다.
배열의 요소 개수는 sizeof(배열)로 전체 배열이 할당된 메모리 크기 나누기
sizeof(배열[0])로 첫 번째 요소가 할당된 크기를 나눠주면 요소 개수가 나온다.
위의 int형 배열로 예를들면, 총 배열의 크기는 = 4byte * 5 = 20byte 이고,
a[0] 은 4byte 이기 때문에 20 / 4 를 해서 배열의 요소 개수가 5개가 된다.
int형 이니까 총 배열의 크기 / sizeof(int) 를 할 수도 있지만, 자료형이 달라질때를 대응하기 위와 같이 하는게 좋을 것 같다.
요소의 개수를 정해주지 않고 값만을 넣어서 선언 할 수도 있다.
#include<stdio.h>
int main(void)
{
int a[] = {1,2,3,4,5};
}
다음에는 메모리의 구조와 메모리 할당을 위한 함수 calloc,malloc을 복습 할 예정이다.
✨ 공부하는 과정이니 틀린 내용이 있다면 언제든 댓글로 지적해주시면 감사하겠습니다!
'프로그래밍 공부 > 자료구조&알고리즘 공부' 카테고리의 다른 글
[디자인 패턴] 옵저버 패턴(Observer Pattern) (0) | 2022.07.12 |
---|---|
시간 복잡도와 함수 포인터 (0) | 2022.07.09 |
이진 검색 알고리즘(Binary Search) (0) | 2022.07.08 |
선형 검색 & 순차 검색 (0) | 2022.07.06 |
공부를 위한 책 구매 / 세 값의 최댓값 구하기 (0) | 2022.06.11 |
@데브준우 :: 개발초보 JW의 성장일기
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!