Pointer vs. Array

int nums[] = {1, 2, 3, 4, 5};
int* p;
p = nums; => p = &nums[0];
p = p + 1; // ++p






---
int nums1[] = {1, 2, 3, 4, 5};
int nums2[5];

nums2 = nums1; => &nums2[0] = &nums1[0]; (x)

for(int i = 0; i < 5; ++i) {
    nums2[i] = nums1[i];
}
---
두 배열이 같은지 비교

if(nums1 == nums2) { => 이것은 주소값을 비교하는 것이다.
...
}

for(int i = 0; i < 5; ++i) {
    if(nums1[i] != nums2[i]) break;
}
if(i == 5)
//두 배열에 들어있는 요소들이 모두 같다.
---
int nums[] = {1, 2, 3, 4, 5};
int* p;
p = nums;

p == nums;
*(p+0) == nums[0];
*(p+1) == nums[1];
*(p+2) == nums[2];
...
*(p+n) == nums[n];

*(nums + n) == nums[n];
*(p + n) == p[n];
---

Comments