1樓:匿名使用者
cout<<*(*(a+i)+j)< 首先你要了解 在一維陣列中: *a表示第一個值, a+1表示第二個值的指標, *(a+1)表示第二個值的值 ***********************************==== 二維陣列屬於高階指標也就是**p 在*(*(a+i)+j)中: *(a+i)在二維陣列中,是一個指標哦,不是值!! *(*(a+0)+0)表示第一個值, *(a+0)+1表示第一組的,第二個值的指標*(*(a+0)+1)表示第一組的,第二個值的值*(*(a+1)+1)表示第二組的,第二個值的值 2樓:飛翔的菜菜 你要記住 a[i]和*(a+i)等價的, 但在二維陣列中表示的是 地址。 在一位陣列中是直。 你可以這樣理解, 一個一位陣列,他的每個元素都是一個陣列,那他就是一個二維陣列,那麼a[i]或*(a+i)就表示相應的那個元素,而這個元素是一個陣列, 當然a[i]或*(a+i)指的就是這一陣列的首地址,以此推之,a[i]+j或*(a+i)+j就是&a[i][j] 3樓:檀木妍 這個是二維陣列,二維從一維類推:一維中a[i]的a是首地址,二維中a[i][j]的a[i]是第i行的首地址。在二維a[i][j]裡,a只能代表整個二維陣列儲存的第一個地址,但是不能代表每一行資料儲存的首地址,就好比一個班級裡,a代表的是整個班的班長,a[i]代表的是每個小組的小組長。 *(a+i)代表的是第i行的第一個元素的地址,*(a+i)+j就代表了第i行第j個元素的地址,*(*(a+i)+j)就代表了第i行第j個元素。 4樓: 這是一個二維陣列,把它當做一維陣列來看,每個過元素就是一個一維陣列,陣列名a是陣列首地址,則它指向第一個元素,*a則是這個元素,而這個元素本身是個陣列,所以*a只是陣列名而已,所以得再進行一次解引用,及**a才是這個二維陣列第一個元素。 你的定義應該大概是這樣吧,舉個例子 a 3 3 int p a 所以 p就相當於 a 0 0 畫了一幅內圖,你可以看一下 指標 容是一個雙重指標,是指向指標的指標 c中指標bai是指標,陣列是陣列,兩個du 沒有必然聯絡。zhi a i j 等價於daoa i j 說法不準確,應是 a i j 的值... include void sort int x,int n void main i printf before the array is for i 0 i 6 i printf 3d a i 輸出呼叫前陣列 sort a,6 printf nafter the array is for i 0 i... char str 100 char pi str 相當於char pi pi str char ppi pi 這個地方抄錯了。應為char ppi pi 定義加 表明這是指標型別的變數 用的時候,就是用的指標,加 幹什麼。只有取指標所指變數的值,或給指標所指的變數賦值的等涉及指標所指的變數的時候,才...C語言指標P1表示陣列A1指標的指標求解釋
編寫逆向排序函式(陣列或指標)C謝謝
c語言中關於指向陣列的指標C語言中關於指向陣列的指標