iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
自我挑戰組

C++入門即放棄系列 第 11

[DAY11]你跟我好像!

  • 分享至 

  • xImage
  •  

陣列的秘密

  • 一串連續的記憶體格子
  • 陣列名稱就是指標指向第一個元素
int arr[3] = {1, 2, 3};
cout << arr << endl;   
cout << &arr[0] << endl; 

陣列?指標?

📌 陣列就是一種位置

  • arr&arr[0]
  • arrarr[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] 是一樣的


上一篇
[DAY10]找到你住哪裡了!
下一篇
[DAY12]傳送資料複製品!
系列文
C++入門即放棄12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言