1. 배열은 같은형의 변수를 여러개 만드는 경우에 사용한다.
ex) int num1, num2, num3; = int num[3];
[0] = base address 기준으로 자료형에 맞춰 숫자를 더해가며 주소를 이동한다.
ex) int → base address + 4byte = [1]
char → base address + 1byte = [1]
이런 느낌?
1-1) 1차원 배열
배열은 포인터와 비슷하다.
num[0] = 100; → set연산에 해당함.
( set연산은 데이터를 설정(저장, 갱신)하는 연산으로 일반적으로 키-값 구조에서 특정 키를 할당할때 사용됨 )
value = num[0]; → get연산에 해당함.
( get연산은 데이터를 조회(읽기)하는 연산으로 특정키를 사용해 값을 가져옴 )
1-2) 2차원 배열
마찬가지로 이중포인터와 같다.
ex) int num[행][열] → num[행]로 가는 주소를 따라가라(*) = 안에 num[열]로 가는 주소가 들어있다. → 그 주소를 또 따라가라(**) = num[행][열]에 도착
2. 구조체 (structure) : 타입이 다른 데이터를 하나로 묶는 방법
→ 앞으로 새로운 요소가 추가될 것 같은데 데이터 타입이 확실하지 않을떄 쓰임.
→ 대체로 제일 안전하고 많이 쓰게 될 것.
12) 문자열은 멤버접근자 (.)로 바로 접근못함, strcpy로 문자열 복사해 넣기
11) Book = struct BOOK
원래는 길게써야하는거 짧게 쓸수있게 해준다.
11) 예제1과 달리 중괄호로 문자열 넣어주면 이건 또 가능하다.
그러나 중괄호로 뭉탱이로 넣는건 잘 안쓰는 방법인 듯 하다.
그냥 바로 멤버접근할떄가 많다고 하셨다.
'코딩' 카테고리의 다른 글
[백준 C++] 10871번 - X보다 작은 수 (0) | 2025.04.01 |
---|---|
[백준 c++] 1026번 - 보물 (0) | 2025.03.26 |
[백준 C++] 2480번 - 주사위 세개 (0) | 2025.03.19 |
[백준 C++] 2525번 - 오븐시계 (0) | 2025.03.19 |
[정올 C] 포인터 - 자가진단6 (0) | 2025.03.10 |