C++二维数组名与数组指针的思考
生活随笔
收集整理的這篇文章主要介紹了
C++二维数组名与数组指针的思考
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
二維數組名和數組指針可以當做一個東西用,但兩者之間的含義是不同的。
二維數組名是一個指向數組中所有元素的指針,而數組指針是一個行指針。體現在sizeof()上的不同。
#include <iostream>
using namespace std;
int main()
{// a是一個二維數組名,指向一個二維數組int a[2][3] = {{1,2,3},{4,5,6}};// a所占的內存為24,即6*4cout<<sizeof(a)<<endl;// 輸出為4// a:&a[0] a+1:&a[1] *(a+1) : a[1] = &a[1][0]// **(a+1) = a[1][0]cout<<**(a+1)<<endl;// 輸出為3// a:&a[0] *a:a[0]:&a[0][0] *a+2:&a[0][2]// *(*a+2):a[0][2]cout<<*(*a+2)<<endl;// 數組指針int (*b)[3] = a;// 數組指針可以當做二維數組名用cout<<**(b+1)<<endl;cout<<*(*b+2)<<endl;cout<<sizeof(b)<<endl;
}
總結
以上是生活随笔為你收集整理的C++二维数组名与数组指针的思考的全部內容,希望文章能夠幫你解決所遇到的問題。