// Array.cpp
// 배열
#include "pch.h"
#include <stdio.h>
int main()
{
char data1 = 2, data2 = 5, data3 = 1, data4 = 3, data5 = 7;
int sum = data1 + data2 + data3 + data4 + data5;
printf("sum = %d\n", sum);
char data[5] = {0,}; // data -> char*
*(data + 0) = 2; // *(data + i) => data[i]
*(data + 1) = 5;
*(data + 2) = 1;
*(data + 3) = 3;
*(data + 4) = 4;
data[0] = 2;
data[1] = 5;
data[2] = 1;
data[3] = 3;
data[4] = 4;
// data[5] = 7; -> *(data + 5) = 7;
// char data[5] = {2, 5, 1, 3, 4};
// data = {2, 5, 1, 3, 4} : [오류] 초기화는 변수 선언시에만 가능
// sum = data[0] + data[1] + data[2] + data[3] + data[4];
sum = 0;
int i = 0;
while (i < 5)
{
sum += data[i];
++i;
}
printf("sum = %d\n", sum);
i = sum = 0;
while (i < 5)
{
sum = sum + *(data + i);
++i;
}
printf("sum = %d\n", sum);
char* p;
p = &data[0]; // &*(data + 0) -> &*data -> data
p = data;
p = &data[1];
p = data + 1; // &*(data + 1) -> &*(data + 1) -> data + 1
// data++; // data -> char* 이기에 증감 연산자 사용할 수 없음,
// [오류]: 포인터와 달리 자신의 주소를 변경할 수 없음
}
// data -> char*
char data[5] = {0, };
// *(name + i) -> name[i]
*(data + 0) = 2; --> data[0] = 2;
*(data + 1) = 3; --> data[1] = 3;
*(data + 2) = 5; --> data[2] = 5;
*(data + 3) = 4; --> data[3] = 4;
*(data + 4) = 1; --> data[4] = 1;
char data[5] = {2,4,5,3,1};
char* p;
p = &data[0]; // *(&data + 0) -> &*(data + 0) -> data
p = data;
p = &data[1]; // *(&data + 1) -> &*(data + 1) -> data +1
p = data + 1;
본 작성글은 금배씨 강의 영상 중 "배열" 강의를 참조하여 작성된 게시글 입니다.