指標功能很強大,有時候也有很多有意思的操作
直接上**吧 這段** 看著還是很複雜的
void
test()
;int
*ptr =
(int*)
(&arr +1)
; cout <
int*)(
&arr)
<< endl;
cout <
&arr)
<< endl;
cout <<
&arr << endl;
//3 cout <
&arr +1)
<< endl;
cout <<
(&arr +1)
<< endl;
cout <<
*(ptr -1)
<< endl;
//6 cout <<
*arr << endl;
cout <<
*(arr +1)
<< endl;
//相當於跳過乙個元素
cout <
(&arr)
<< endl;
}
對於輸出語句我們一句一句的解釋:
&arr 相當於 int( * )[5] 那麼進行+1就是跳過乙個陣列
第一句因為轉成了 int* 所以說列印出了9;
第二句 &arr 相當於 int( * )[5] 而因為是乙個陣列接引用返回的是第乙個元素的位址,如果再接引用那麼返回的是第乙個元素的值
第三句 列印出位址
第四,五句句 看位址我們可以發現跳過了乙個陣列 ,而列印的結果原因可參考二三
第六句 指標在陣列的末尾的下乙個位置然後往前跳轉乙個單位
第七句 arr放的是第乙個元素的位址,++操作就是指標往後走
第八句 二級接引用操作就打出值了
arr為乙個陣列的時候,那arr就為乙個arr中的一號元素,如果&操作就相當於取位址,此時再++,–操作或跳出整個陣列。 每乙個&操作可以被乙個*操作所抵消
實驗11 指標的基礎應用
一.本次課學習到的知識點 1.通過示例 氣泡排序 引入陣列名作為函式引數,重點介紹指標 陣列和位址之間的關係,通過例子說明了指標和陣列可以實現相同的操作。2.位址和指標是計算機中的兩個重要概念。3.要注意區分記憶體單元的內容的記憶體單元的位址。4.在c語言中把這些專門用來存放變數位址的變數稱為 指標...
實驗11 指標的基礎應用
1.本次課學習到的知識點 1 通過示例 密碼開鎖 引入指標的概念和主要知識點,分析了密碼開鎖的過程來說明變數 記憶體單元和位址之間的關係,從而引入指標的基本概念,介紹了指標的基本運算以及指標變數的初始化。2 通過例子 角色互換 引入指標作為函式引數的用途和用法,區分按值呼叫和引用呼叫,分析了3個sw...
實驗11 指標的基礎應用
1.本次課學習到的知識點 1 密碼開鎖 引入指標的概念和主要知識點,分析了密碼開鎖的過程來說明變數 記憶體單元和位址之間的關係,從而引入指標的基本概念,介紹了指標的基本運算以及指標變數的初始化。2 通過例子 角色互換 引入指標作為函式引數的用途和用法,區分按值呼叫和引用呼叫 3 通過示例 氣泡排序 ...