91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言二維數組幾種常用的表示方法

發布時間:2020-09-02 12:32:11 來源:腳本之家 閱讀:230 作者:BLSxiaopanlaile 欄目:編程語言

名稱:二維數組的幾種表示方法

說明:常用的有以下幾種二維數組的表示方法:

  • (1)、第一種是普通的二維數組的表示方法。
  • (2)、第二種是用一維數組來表示二維數組,從顯示的元素地址可以看出,二維數組和一維數組表示的二維數組在內存中的儲存方式其實是一樣的,不過使用二維數組看起來要簡單些,只要不用進行地址轉換。
  • (3)、第三種表示是用指針數組。本例中的c[i]中的元素其實是地址。這種方法對各個元素大小不一樣的情況下比較適用。如:假定有若干個不等長字符串需要我們處理,如果使用a [i ][j]結構,則j必須取這些字符串長度的最大值, 顯然這種方法浪費空間。如果采用* a [i ]結構,則由于a中僅保存每個字符串的首地址,而不是串本身,這不僅節約了空間,而且減少了直接對串進行操作的時間。
  • (4)、第四種方式為用指向指針的變量來表示。此種方式p是指向指針的指針,不能把普通的二維數組的首地址(如本例中的a)賦給它。(因為a不是指向指針的指針)。可以把第三種方式中的數組指針的首地址賦給它。這種方式用的較少。
#include<iostream>
using namespace std;
int main()
{
  int a[3][3] = {{0,1,2},{3,4,5},{6,7,8}};
  int b[9] = {0,1,2,3,4,5,6,7,8};
  int *c[3];
  int **p;
  cout<<"普通二維數組表示"<<endl;
  for(int i = 0;i<3;++i)
  {
    for(int j = 0;j<3;++j)
     {
      cout<<a[i][j]<<"("<<&a[i][j]<<")"<<" ";  //括號里是對應元素的地址
      //cout<<*(*(a+i)+j)<<" ";
    }
    cout<<endl;
  }
  cout<<"普通一維數組表示"<<endl;
  for(int i = 0;i<3;++i)
  {
    for(int j = 0;j<3;++j)
    {
      cout<<b[i*3+j]<<"("<<&b[i*3+j]<<")"<<" ";
    }
    cout<<endl;
  }
  cout<<"指針數組表示:"<<endl;
  for(int i = 0;i<3;++i)
  {
    c[i] = *(a+i);   //c[i]指向a數組的第i行首地址
    for(int j = 0;j<3;++j)
    {
      cout<<c[i][j]<<"("<<&c[i][j]<<")"<<" ";
    }
    cout<<endl;
  }
  cout<<"指針變量表示"<<endl;
  p = c;   //p為指向指針的指針,將指針數組c賦給指針變量p
  for(int i = 0;i<3;++i)
  {
    for(int j = 0;j<3;++j)
    {
      cout<<p[i][j]<<"("<<&p[i][j]<<")"<<" ";
    }
    cout<<endl;
  }
 return 0;
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永济市| 礼泉县| 白沙| 汾西县| 双鸭山市| 交口县| 渭源县| 卓尼县| 蒙城县| 汉沽区| 卓资县| 扶余县| 湘西| 兴海县| 徐汇区| 新余市| 芮城县| 巴彦县| 保山市| 绥宁县| 崇礼县| 泽库县| 正蓝旗| 泸水县| 宾阳县| 吉水县| 合肥市| 通辽市| 蒙自县| 东丰县| 牡丹江市| 河东区| 潞西市| 江山市| 托克逊县| 会昌县| 米泉市| 通河县| 綦江县| 社会| 萍乡市|