C++一维数组指针详解
生活随笔
收集整理的這篇文章主要介紹了
C++一维数组指针详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
int main()
{ int a[5]={1,2,3,4,5};int *p1;p1=a; //相當于p1=&a[0],此時p1是數組a的第一個元素的地址cout<<*p1<<endl; //輸出a[0]cout<<*(p1+1)<<endl; //輸出a[1]int (*p2)[5];p2=&a; //&a表示整個數組的地址,p2是數組指針,指向一個5個int的一維數組,此時p2是數組a的首地址//雖然p2在數值上等于&a[0],但與&a[0]的意義完全不同cout<<*p2<<endl; //雖然加了取值符號,但此時*p2仍然是地址,表示數組a第一個元素的地址cout<<**p2<<endl; //數組a的第一個元素,即a[0]cout<<*p2+1<<endl; //數組a第二個元素的地址cout<<*(*p2+1)<<endl; //數組a的第二個元素,即a[1]cout<<p2+1<<endl; //因為p2是數組指針,所以p2+1會跳過5個元素的地址,因此p2+1表示下一個5個int的一維數組的首地址//為了更好地理解,假設數組a后面緊接著一個數組b={6,7,8,9,10},則p2+1表示數組b的首地址cout<<*(p2+1)<<endl; //數組b的第一個元素的地址,數值上等于&a[4]+1,也相當于&b[0]cout<<**(p2+1)<<endl; //數組b的第一個元素,數組b只是我假想的,實際上該位置的值未定義,所以會輸出一個隨機值return 0;
}
?
總結
以上是生活随笔為你收集整理的C++一维数组指针详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT学习笔记(五):Qt5的8种标准对话
- 下一篇: C++ string字符串常见操作函数