int arr[3] = {1, 2, 3};
cout << arr << endl;
cout << &arr[0] << endl;
📌 陣列就是一種位置
arr
→ &arr[0]
arr
→ arr[0]
int arr[3] = {1, 2, 3};
int *p = arr;
cout << *p << endl;
cout << *(p+1) << endl;
cout << *(p+2) << endl;
📌 *(p+1) → arr[1]
p+1
→ 移到下一個元素p+2
→ 移到再下一個元素📌 索引
📌#include <iostream>
using namespace std;
int main()
{
int arr[3] = {10, 20, 30};
for(int i = 0; i < 3; i++)
{
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
📌 指標
📌#include <iostream>
using namespace std;
int main()
{
int arr[3] = {10, 20, 30};
int *p = arr;
for(int i = 0; i < 3; i++)
{
cout << *(p+i) << " ";
}
return 0;
}
陣列和指標緊密相關
陣列名稱 →「指向第一個元素的指標」
arr[i]
存取資料*(p+i)
📌 陣列存取的是位置
📌 arr[0]
和 &arr[0]
是一樣的