iT邦幫忙

DAY 18
7

C++ 指標 30日系列 第 14

C++ 指標 30日(18)

衝啊!pointer!


今日主題:指標與二維陣列

由之前例如得知,一維陣列的元素值,可利用一個[ ]或一個指標來得到。而二維陣列,則需要以下方法,才行獲得元素值。

(1)兩個指標
(2)一個指標一個 [ ]
(3)兩個 [ ][ ]

除此之外,只能得到陣列元素的位址。

假設一個二維陣列定義如下:

int arr[2][3] = {1,2,3,4,5,6};

則以下意思為:

(1)arr,arr[0] : 第一列第1個元素位址
(2)arr[0]+1 : 第一列第2個元素位址
(3)arr+1,arr[1] : 第二列第1個元素位址
(4)*(arr+1)+1,arr[1]+1 : 第二列第2個元素位址

鐵人文總整理


上一篇
C++ 指標 30日(17)
下一篇
C++ 指標 30日(19)
系列文
C++ 指標 30日26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
總裁
iT邦好手 1 級 ‧ 2013-10-03 13:17:20

main呢??...疑惑

0
阿寶哥
iT邦新手 5 級 ‧ 2018-12-13 13:51:55
#include <iostream>
using namespace std;

int main(){
	int arr[2][3] = {1, 2, 3, 4, 5, 6};
	cout << "arr: " << arr << "\t// 第一列第1個元素位址" << endl;
	cout << "arr[0]: " << arr[0] << "\t // 第一列第1個元素位址" << "\n\n";
	
	cout << "arr[0] + 1: " << arr[0] + 1 << "\t // 第一列第2個元素位址" << "\n\n";
	
	cout << "arr + 1: " << arr + 1 << "\t// 第二列第1個元素位址" << endl;
	cout << "arr[1]: " << arr[1] << "\t// 第二列第1個元素位址" << "\n\n";
	
	cout << "*(arr + 1) + 1: " << *(arr + 1) + 1 << "\t // 第二列第2個元素位址" << endl;
	cout << "arr[1] + 1: " << arr[1] + 1 << "\t // 第二列第2個元素位址" << endl;
}

我要留言

立即登入留言