#1. 배열
- 자료구조 : 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계
[ 데이터 단위 : 데이터를 구성하는 한 덩어리/ 자료구조 : 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법]
- 배열 : 요소와 인덱스 ( []안에 넣는 것이 정수형 인덱스이다. )
- 메모리 할당 기간과 동적 객체 생성
calloc, malloc 함수(공간 할당) / free 함수 (공간 해제)
calloc 함수 : void *calloc(size_t nmemb, size_t size); // size_ t size : 예를 들어 int형이면 sizeof(int)
malloc 함수 : void *malloc(size_t size);
- 배열의 동적 생성
단일 객체의 동적 생성과의 차이점 :
배열의 첫 번째 요소의 포인터 선언, 배열 a의 요소 개수 선언, 요소 개수가 na인 int형 배열을 calloc으로 생성한다.
> 정리
- 배열의 각 요소에 접근하는 식 : a[i], *(a+i), p[i], *(p+i) : 첫 번째부터 i개 뒤쪽의 요소
- 배열의 각 요소를 가리키는 포인터 : &a[i], a+i, &p[i], p+i : 첫 번째부터 i개 뒤쪽의 요소를 가리키는 포인터
- 난수 사용하기
#include <time.h> 추가, srand(time(NULL)); :시간으로 난수의 seed를 초기화
100 + rand()% 90 : 100-189의 난수를 생성, 대입
- 배열 요소를 역순으로 정렬하기 : 직접 작성하기
- 기수 변환
- 소수의 나열 : 어떤 정수 이하의 소수를 모두 나열하는 알고리즘
- 다차원 배열 :
#2. 구조체
- 구조체 : 임의의 데이터를 재조합하여 만드는 자료구조
( 예를 들어, 사람, 그 사람의 키, 그 사람의 시력을 각각 다른 배열로 만들면 관리가 어렵다. )
- 구조체 선언 : x,y,z가 구조체 멤버이다.
객체 a를 선언한 것과 같다.
- 구조체 배열 : 데이터를 제각각 흩어진 배열에 모으지 않고, 구조체 배열로 구현할 수 있다.
'자료구조' 카테고리의 다른 글
[Do it 자료구조] 4단원 스택과 큐 c++로 풀기 (0) | 2021.03.07 |
---|---|
Do it 자료구조 3단원 c++로 풀기 (0) | 2021.03.07 |
[Do it 자료구조] 2. 기본 자료구조 C++로 풀기 (0) | 2021.02.26 |
[Do it 자료구조] 1단원 연습문제 c++로 풀기 (0) | 2021.02.25 |
[스터디 준비] 01. 기본 알고리즘 정리 (0) | 2021.02.18 |