国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
多維數(shù)組與指針

1、多維數(shù)組元素的地址;
    多維數(shù)組也可以稱之為數(shù)組的數(shù)組,其元素均為數(shù)組,如有一個二維數(shù)組:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};,它有三個元素:a[0],a[1],a[2],每一個元素又都是一個一維數(shù)組,分別包含4個元素,因此,a是由3個一維數(shù)組(分別是a[0],a[1],a[2])組成的數(shù)組。
    已經(jīng)知道,C++中,數(shù)組名代表的是此數(shù)組的首元素地址,但在int a[3][4]中,a代表的是a數(shù)組第一個元素a[0]的地址,注意,a的首元素不是一個整型變量,而是一個一維數(shù)組,如果a數(shù)組的起始地址為2000,則a=2000,a+1=2016,a+2=2032,
    同樣,數(shù)組名代表的是此數(shù)組的首元素地址,a數(shù)組中,a[0]是一個一維數(shù)組,a[0]即是此一維數(shù)組的首元素地址,即a[0]=&a[0][0]; a[0]+1=&a[0][1]; a[0]+2=&a[0][2]; a[0]+3=&a[0][3],a[1],a[2]同樣如此。
    因此,如要知道a[1][2]的值,可這樣表示:*(a[1]+2)  ,而a[1]又與*(a+1)無條件等價,因此,*(a[1]+2)=*(*(a+1)+2)  ,由此可知,二維數(shù)組a中,若需得出a[i][j]的值,可以表示為:*(*(a+i)+j)。

2、指向多維數(shù)組的指針變量:
   如一、遍歷 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}的值。
#include<iostream>
using namespace std;
int main()
{
 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
 for(int* p=a[0];p<a[0]+12;p++)
   cout<<*p<<" ";
 cout<<endl;
 return 0;
}
由于無論是一維數(shù)組,還是多維數(shù)組,在內(nèi)存中均是按線性排列存放的,因此使指針變量p指向a[0]的首元素地址,依次循環(huán)輸出。如圖:

 a[0][0]  1←p=a[0]
 a[0][1]  2 ←p+1
 a[0][2]  3 ←p+2
 a[0][3]  4 ←p+3
 a[1][0]  5 ←p+4
 a[1][1]  6 
 a[1][2]  7
 a[1][3]  8
 a[2][0]  9
 a[2][1]  10
 a[2][2]  11
 a[2][3]  12 ←p+11

    上例的指針變量為指向多維數(shù)元素,還可以讓指針指向一個包含n個元素的數(shù)組。
    如二、輸一個二維數(shù)組任一行,任一列的值。
#include<iostream>
using namespace std;
int main()
{
 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
 int i,j;
 cin>>i>>j;
 int (*p)[4];// 定義一個指針變量,此指針指向一個包含4個整型元素的一維數(shù)組。
 p=a; //便p指向a[0];
 if(i>=3 || j>=4)
   cout<<"input error!"<<endl;
 else
   cout<<*(*(p+i)+j)<<endl;
 return 0; 
}

 

3、用指向數(shù)組的指針作函數(shù)參數(shù):
    如例一,用函數(shù)調(diào)用實(shí)現(xiàn):
#include<iostream>
using namespace std;
int main()
{
 void output(int (*p)[4]);
 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
 output(a);
 return 0;
}
void output(int(*p)[4])    //注意實(shí)參形參的類型匹配
{
 for(int i=0;i<3;i++)
  for(int j=0;j<4;j++)
   cout<<*(*(p+i)+j)<<" ";
 cout<<endl;
}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
指針數(shù)組,數(shù)組指針,指針函數(shù),函數(shù)指針,二級指針詳解
徹底粉碎“指針與數(shù)組的困惑”(上)
C++學(xué)習(xí)筆記——動態(tài)二維數(shù)組的分配與釋放
數(shù)組引用:C++ 數(shù)組做參數(shù) 深入分析
C++中將二維數(shù)組(靜態(tài)的和動態(tài)的)作為函數(shù)的參數(shù)傳遞
【C 】數(shù)組講解之一維數(shù)組
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服